PHP的面向对象-静态对象-自动加载-命名空间(二)

 面向对象:1.这是重点!这是重点!这是重点!重要的事情说三遍!面向对象的特征有三点:封装 继承 多态.

静态对象:函数

static 声明一个成员为静态页成员 用static关键字

静态成员 能够不实例化这类 直接调用 语法:

类名::$name;
类名::方法名;

在类的内部调用的语法;
self::$name
self::方法名();

静态成员不随着类的实例化儿初始化

静态属性或者静态方法 通常用来 存储多个对象之间的共有数据.
//PHP魔术方法:
//__toString被当成字符串时使用.
//__invoke被对象当初函数去使用.
//__construct这个方法叫作构造方法,在实例化这个类的时候会执行他,__construct是固定词语
//__destruct 析构函数,在对象被释放的时候运行 unset函数程序运行完毕的时候.显示时先显示最后一个
//__call调用对象内部一个不存在的方法
//克隆方法:
class tt{
public $name;
function __toString(){
return "我是魔术方法toString,在这个对象被看成字符串去输出的时候,我会被自动调用";
}post

function __invoke($ss){
echo "我是__invoke,当对象被看成函数去使用的时候,我会被自动调用,假如被看成函数使用时,而且传入了参数,那么参数会依次传递给我";
var_dump($ss);
}
function __destruct(){
echo "我是析构函数,在对象被释放的时候自动调用";
echo $this->name;
echo "<hr>";
}this


function __call($md,$ps){
echo "当调用对象内部一个不存在的方法时,会自动调用我";
var_dump($md);
var_dump($ps);
}
function qq(){
echo "制做制制做制制做制";
}对象


}blog

$xx = new tt();
$xx->name = "lilili";继承

$tt1 = new tt();
$tt1->name = "heiheihei";字符串

$tt2 = $xx;it

$tt3 = clone $xx;io

var_dump($tt3);function

// $xx->xx4("说的是","是公司的");

// $xx1 = clone $xx;

 

 

// class test {
// public $name1 =2;
// public static $name = 1;//静态属性不会随着,新的实力化而初始化

// function __construct(){
// self::$name++;
// $this->name1++;
// }
// static function name3(){
// self::$name++;
// }

// }

// $test =new test();

// echo $test->name1;
// echo "<hr>";

// echo test::$name;
// echo "<hr>";

// $test1 = new test();
// echo "<hr>";
// echo test::$name;

// test::name3();
// test::name3();
// test::name3();
// test::name3();

// echo test::$name;

?>

你觉得这篇会没意思,哼,太好笑了.

练习:

 儿子:爸爸,这个世界上真的有鬼吗?  爸爸:没有啊。 儿子:我们家保姆说这世界上有鬼。  爸爸:儿子快跑。  儿子:怎么了!  爸爸:我没有请保姆 ! 儿子准备收拾东西,回到房间看到保姆。 保姆问:怎么了? 儿子:你究竟是什么! 我爸爸更本没请保姆!!! 保姆出神:你爸爸已经死了4年了。 儿子愣住了,不知不觉倒在了地上,撞倒了旁边的桌子,花瓶从桌子摔下来。 屋外通过的路人:这屋子5年没人住了。怎么还有声音?  其中有一个是鬼,请问那是谁? a.爸爸 b.儿子 c.保姆 d.路人 告诉我吧.
相关文章
相关标签/搜索