我们一起学php(面向对象六)



2017-02-03 11:26:29

面向对象编程六 


今天主要讲一下,php5中的构造函数和析构函数!!


之前php4中的构造函数采用跟类名同名的函数,作为构造函数,这样,


如果修改一些东西的时候 ,会很麻烦,所以,我们采用 __construct();

举例如下:


class a{

public $b;

public function __construct($c){

$this->b = $c;

}

public function __destruct(){

echo '
我是析构方法!';

}

}

$d = new a(5);

print_r($d);


结果就是:


a Object ( [b] => 5 ) 


我是析构方法!


注意:构造方法的调用是在类被实例化成为对象的时候,调用的!

析构方法是在对象被手动销毁(unset())或者在代码执行完之后,自动销毁的时候调用的!

总结起来:一个是对象声明的时候调用;一个是对象销毁的时候调用!


然后说一下,关键字final的使用!!


final关键词是 '最终的' 的意思!

final class a{   //在这里final修饰类,表示最终的类 ,也就是说,这个类不可以被继承!

}

class a{

public $b;

final public function c(){

echo '1';

}

}

class aa extends a{

public function c(){  //Fatal error: Cannot override final method a::c()

//表示 final修改的函数,不可以覆盖

echo '2';

}

}

最后总结一下:final可以修饰类(不能继承)和方法(不能覆盖)!

其中类之间就是能不能 ’继承‘ 的关系!

其中方法之间就是能不能 ’覆盖‘ 的关系!


最后,我们再说一下对象的赋值:

 

class a{

public $b = 2;

}

$x = new a();

$y = $x;

/*

在这里,我们给$y->b重新复制为3,在$x对象中,的值也跟着变成了3;

记住这里对象和变量的赋值是不一样的!

*/

$y->b = 3;  

print_r($x);


 











上一篇 我们一起学php(面向对象五)

下一篇 我们一起学php(面向对象七)


相关文章


我们一起学php(面向对象五)     2017-02-02 17:37:58

我们一起学php(面向对象四)     2017-02-02 17:36:10

我们一起学php(面向对象三)     2017-02-01 14:13:40

我们一起学php(面向对象一、二)     2017-02-01 12:20:57

我们一起学php(session)     2017-01-30 20:15:20

我么一起学php(cookie)     2017-01-29 14:56:44

我么一起学php(函数二)     2017-01-29 14:53:46

新年寄语     2017-01-28 10:57:45

我们一起学php(函数)     2017-01-21 21:44:58

我看到 ‘山寨币市场很混乱’     2017-01-21 14:22:38

回到顶部