//people.class.php class People{ private $name; private $sex; private $birthday; private function construct($name='',$sex='01',$birthday='1999-01-01'){ echo 'people---construct<br>'; $this->name = $name; $this->sex = $sex; $this->birthday = $birthday; } public function get($key){ return $this->$key; } public function set($value,$key){ $this->$key = $value; } public function show(){ return 'people---'; } }
//student.class.php class Student extends People{ private $s_num; private $s_class; public function construct($name,$sex,$birthday,$num,$class){ //parent::construct($name,$sex,$birthday); echo 'Student--construct<br>'; $this->name = $name; $this->sex = $sex; $this->birthday = $birthday; $this->s_num = $num; $this->s_class = $class; } public function showInfo(){ return 'sutdent---'.$this->name.'----bir='.$this->birthday .'num=='.$this->s_num.'----class=='.$this->s_class; } }
以上兩個類別Student繼承People類別
#父類別的建構方法是私有的,這在java裡意味著這個類別是無法被繼承的,但是在php裡,這個類別可以被繼承,但是有一點,就是子類別Student中無法呼叫父類別的建構方法
parent::construct($name,$sex,$birthday);
否則會報出錯誤,並且,如果父類別的建構方法私有,那麼子類別就必須有自己的建構方法,必須明確寫出來,不然是無法實現繼承的。
同時和java不同的是,當子類別繼承父類,子類別有自己的建構子的時候,父類別的建構子是不會被執行的,除非在子類別的建構子中呼叫。
以上是php物件導向繼承的幾點總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!