本文不再贅述html' target='_blank'>面向?qū)ο?/u>的知識(shí),本文著重說明PHP的構(gòu)造函數(shù)。
php類的構(gòu)造函數(shù)可以是魔術(shù)魔方__construct() 也可以是和類同名的函數(shù),實(shí)例如下:
class A{ public function A(){ echo 'A is constructing...'; } } class B{ public function __construct(){ echo 'B is contructing...'; } } $a = new A(); // A is constructing... $b = new B(); // B is constructing...
此外,在繼承時(shí),應(yīng)該注意的是:
【子類可以不寫構(gòu)造函數(shù),那么使用父類的構(gòu)造函數(shù)】
class A{ protected $name; public function A(){ echo 'A is constructing...<br>'; } public function set_name($name){ $this->name = $name; } public function get_name(){ return $this->name; } } class B extends A{ /* public function __construct(){ echo 'B is contructing...<br>'; } */ } //$a = new A(); $b = new B(); // A is constructing... $b->set_name('zhangsan'); echo $b->get_name();
【子類如果寫了構(gòu)造函數(shù),那么不會(huì)再調(diào)用父類的構(gòu)造函數(shù)了】
class A{ protected $name; public function A(){ echo 'A is constructing...<br>'; } public function set_name($name){ $this->name = $name; } public function get_name(){ return $this->name; } } class B extends A{ public function __construct(){ echo 'B is contructing...<br>'; } } //$a = new A(); $b = new B(); // just echo 'B is contructing...' $b->set_name('zhangsan'); echo $b->get_name(); // zhangsan
【父類的構(gòu)造函數(shù)如果是私有的,可以被繼承,但是子類必須有自己的構(gòu)造函數(shù),并且明確寫出來】
class A{ protected $name; private function A(){ echo 'A is constructing...<br>'; } public function set_name($name){ $this->name = $name; } public function get_name(){ return $this->name; } } class B extends A{ public function __construct(){ echo 'B is contructing...<br>'; } } //$a = new A(); $b = new B(); // B is contructing... $b->set_name('zhangsan'); echo $b->get_name(); // zhangsan
PHP編程 鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選