本文不再贅述物件導向的知識,本文著重說明PHP的建構函式。
php類的建構函式可以是魔術魔方__construct() 也可以是和類同名的函數,執行個體如下:
classA{publicfunctionA(){echo'A is constructing...'; } } classB{publicfunction__construct(){echo'B is contructing...'; } } $a = new A(); // A is constructing...$b = new B(); // B is constructing...
此外,在繼承時,應該注意的是:
【子類可以不寫建構函式,那麼使用父類的建構函式】
classA{protected$name; publicfunctionA(){echo'A is constructing...
'; } publicfunctionset_name($name){$this->name = $name; } publicfunctionget_name(){return$this->name; } } classBextendsA{/* public function __construct(){ echo 'B is contructing...
'; } */ } //$a = new A();$b = new B(); // A is constructing...$b->set_name('zhangsan'); echo$b->get_name();
【子類如果寫了建構函式,那麼不會再調用父類的建構函式了】
classA{protected$name; publicfunctionA(){echo'A is constructing...
'; } publicfunctionset_name($name){$this->name = $name; } publicfunctionget_name(){return$this->name; } } classBextendsA{publicfunction__construct(){echo'B is contructing...
'; } } //$a = new A();$b = new B(); // just echo 'B is contructing...'$b->set_name('zhangsan'); echo$b->get_name(); // zhangsan
【父類的建構函式如果是私人的,可以被繼承,但是子類必須有自己的建構函式,並且明確寫出來】
classA{protected$name; privatefunctionA(){echo'A is constructing...
'; } publicfunctionset_name($name){$this->name = $name; } publicfunctionget_name(){return$this->name; } } classBextendsA{publicfunction__construct(){echo'B is contructing...
'; } } //$a = new A();$b = new B(); // B is contructing...$b->set_name('zhangsan'); echo$b->get_name(); // zhangsan
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
以上就介紹了PHP物件導向建構函式說明,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。