php物件導向之 繼承

2021-09-10 09:17:10 字數 2187 閱讀 3045

繼承是從乙個基類得到乙個或多個類的機制。

繼承自另乙個類的類被稱為該類的子類。這種關係通常用父親和孩子來比喻。子類將繼承父

類的特性。這些特性由屬性和方法組成。子類可以增加父類(也稱為超類, superclass))之外的新

功能,因此子類也被稱為父類的「擴充套件」。

在深入學習繼承的語法之前,我們先了解一下它可以幫助我們解決什麼問題

要建立乙個子類,必須在類宣告中使用 extends關鍵字。在本例中,我們建立了兩個新類bookproduct和 cdproduct,它們都繼承自 shopproduct類。由於派生類沒有定義構造方法,所以在例項化時會自動呼叫父類的構造方法。子類預設繼承了父類所有的public和 protecte方法(但是沒有繼承 private方法或屬性)。也就是說,我們可以在從 cdproduct類例項化的物件中呼叫 getproducer()方法,即使 getproducer()是在 shopproduct類中定義的。

$product2-> new cdproduct("exile on col harbour lane"the","alabama 310.99.mu1l.60.33);

print" artist: ( $product2->get producer())\n";

這樣兩個子類都繼承了父類的公共部分。我們可以把bookproduct物件當做一種 shopproduc物件,傳遞bookproduct或 cdproduct物件給 shopproductwriter類的 write()方法來開展需要的工作。注意 cdproduct和 bookproduct類都覆寫了getsummaryline()方法,提供自己獨特的實現。派生類可以擴充套件和修改父類的功能,同時還繼承父類的屬性。 bookproduct和 cdproduct都在它們的getsummaryline()中訪問了 title屬性可能一開始,繼承是乙個不太容易理解的概念。通過定義乙個從其他類繼承面來的類,我們確保乙個類擁有其自有的功能和父類的功能。另一種可以幫助你理解繼承的思路是「搜尋」。當我們呼叫 $product2->getproducer()時,在 cdproduct類中並沒有找到這樣的方法,那麼就查詢shopproduct中的預設實現。另一方面,當呼叫 $product2->getsummaryline()時,在 cdproduct中

shopproduct.php

<?php

class shopproduct

public function getproducerfirstname()

public function getproducermainname()

public function setdiscount( $num )

public function getdiscount()

public function gettitle()

public function getprice()

public function getproducer()"."";

} function getsummaryline(),)";

return $base;

}}

cdproduct.php

<?php

class cdproduct extends shopproduct

function getplaylength()

function getsummaryline()";

return $base;

}}

bookproduct.php

<?php

class bookproduct extends shopproduct

public function getnumberofpages()

public function getsummaryline()";

return $base;

} public function getprice()

}

shopproductwriter.php 

<?php

class shopproductwriter

public function write():";

$str.=$shopproduct->getproducer();

$str.="()\n";

} print $str;

}}

php物件導向 繼承

1 繼承是從乙個基類或者父類得到乙個或者多個派生類,也叫作子類的機制。2 建立繼承樹首先找到現有基類元素不適合放在一起的,或者不需要特殊處理的,一般化。3 子類預設繼承父類所有的public和protected方法,不繼承private方法或屬性 構造方法與繼承 1 構造方法需要傳參給父類方法。2 ...

PHP物件導向 繼承

繼承是指子類可以繼承乙個或多個父類的屬性和方法,並可以重寫或新增新的屬性或方法。通過繼承已有的類,可以逐步擴充類的功能,提高 的可重用性。關鍵字 extends php中使用關鍵字extends可實現類的繼承 語法格式 class 子類名 extends 父類名 注意 php不支援多重繼承,即乙個子...

物件導向之繼承

此段摘自 繼承方式限定了基類成員在派生類中的訪問許可權,包括 public 公有的 private 私有的 和 protected 受保護的 此項是可選的,如果不寫,預設為 private 或 protected。不要將繼承方式和成員屬性搞混了,不同的繼承方式會賦予繼承來的成員不同的屬性 簡單說一下...