在php中,php類別的繼承是屬於重要的內容也是屬於比較難以理解的部分。那我們該如何來學習PHP類別的繼承呢?和人類生活中的遺傳一樣,php程式設計世界中的繼承就像是人類生世界中的遺傳一樣,這樣是不是就好理解一點了。那下面我們就來詳細的分析一下php類別的繼承吧。
首先在了解了繼承的一些活生生的原理後,我想再來看PHP類別的繼承是不是不再那麼神祕。或許它本來就不神秘,是因為我們自己太複雜了。要有繼承就得有一個“根源”,這“根源”你可能想像你以後生了兒子或者女兒,他們會從你這裡得到一些“東西(屬性和方法)”,這樣你的“後代”就是持有你的(根源)所有一些特徵了。下面透過語法來描述一下這個在PHP的面向對像中是怎麼表達吧(不可能像人類那麼直接啦,結婚,過段時間你的後代就產生了)
1.產生“根源”類別(父類別或基底類別)
語法:
class father{ }
1.產生「後代」(子類別)
語法:
class son extends father{ }
說明:父類只是一個平常的類,要想有後代你只需要在平常類後面加一個extends關鍵字就OK了,這樣你的子類只擁有了父類所有的屬性和方法了。其實就是這麼簡單罷了。
下面讓我們做點實際點事情吧,畢竟PHP類別的繼承中定義一個父類別和子類別是要完成某個任務的吧!這裡這個任務比較單調,就拿人來說,人有名字(屬性),人要睡覺還要吃飯(方法)。我們就用這個基本的任務要完成本節的知識吧。
< ?php class father{ protected $name; function __construct($name){ $this->name=$name; } function __destruct(){ echo "< p>{$this->name}也是要死的< br/>< /p>"; } //这个就是所谓的构造函数,用来初始化 function go_to_sleeping(){ echo "< p>{$this->name}想睡觉.< /p>"; } function eat(){ echo "< p>{$this->name}想吃饭.< /p>"; } } class son extends father{ function playing(){ //小孩子会很调皮的,当然他也是要吃要睡的生物 echo "< p>{$this->name}正在捣蛋...< /p>"; } } $your_father=new father("老爸"); $your_father->go_to_sleeping(); $your_father->eat(); $my_son=new son('宝贝'); $my_son->go_to_sleeping(); $my_son->eat(); $my_son->playing(); ?> < ?php class father{ protected $name; function __construct($name){ $this->name=$name; } function __destruct(){ echo "< p>{$this->name}也是要死的< br/>< /p>"; } //这个就是所谓的构造函数,用来初始化 function go_to_sleeping(){ echo "< p>{$this->name}想睡觉.< /p>"; } function eat(){ echo "<p>{$this->name}想吃饭.</p>"; } } class son extends father{ function playing(){ //小孩子会很调皮的,当然他也是要吃要睡的生物 echo "< p>{$this->name}正在捣蛋...< /p>"; } } $your_father=new father("老爸"); $your_father->go_to_sleeping(); $your_father->eat(); $my_son=new son('宝贝'); $my_son->go_to_sleeping(); $my_son->eat(); $my_son->playing(); ?>
解析:在我們的第一個使用繼承的範例裡使用了PHP的建構子中所提到的建構子和PHP類的封裝中的關鍵字,如果有什麼不明白的就去看看吧!我可不想再多說了,中午沒想睡呀.說說這段小程式吧。
在類別的father裡,我們定義了一般的特徵,例如人的名字,人要吃飯和睡覺,然後在它的子類別(後代)我們定義一個個性化的方法(playing),畢竟人與人之間是有不同的地方吧。我們使用建構函式來初始化這個人名,當然也使用了析構函式來「消滅」掉對象,但你可能沒有發現在子類別裡內是沒有建構子和析構函式的,所以子類別是繼承了父的所有方法,要不然你怎麼能$my_son->go_to_sleeping();這樣呼叫呢,這就是PHP類別的繼承了。
相關文章推薦:
以上是php類別的繼承是什麼意思? php類別的繼承的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!