您好,登錄后才能下訂單哦!
如何理解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類的繼承問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。