php物件導向繼承的幾點總結

黄舟
發布: 2023-03-12 11:22:01
原創
1002 人瀏覽過

本文主要總結幾點php物件導向繼承時的幾點:

//people.class.php
	class People{
		private $name;
		private $sex;
		private $birthday;
		
		private function construct($name='',$sex='01',$birthday='1999-01-01'){
			echo &#39;people---construct<br>&#39;;
			$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 &#39;people---&#39;;
		}
	}
登入後複製
//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 &#39;Student--construct<br>&#39;;
			$this->name = $name;
			$this->sex = $sex;
			$this->birthday = $birthday;
			$this->s_num = $num;
			$this->s_class = $class;
		}
		public function showInfo(){
			return &#39;sutdent---&#39;.$this->name.&#39;----bir=&#39;.$this->birthday
			.&#39;num==&#39;.$this->s_num.&#39;----class==&#39;.$this->s_class;
		}
	}
登入後複製

以上兩個類別Student繼承People類別

#父類別的建構方法是私有的,這在java裡意味著這個類別是無法被繼承的,但是在php裡,這個類別可以被繼承,但是有一點,就是子類別Student中無法呼叫父類別的建構方法

parent::construct($name,$sex,$birthday);
登入後複製

否則會報出錯誤,並且,如果父類別的建構方法私有,那麼子類別就必須有自己的建構方法,必須明確寫出來,不然是無法實現繼承的。

同時和java不同的是,當子類別繼承父類,子類別有自己的建構子的時候,父類別的建構子是不會被執行的,除非在子類別的建構子中呼叫。



#

以上是php物件導向繼承的幾點總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板