《PHP編程:php繼承中方法重載(覆蓋)的應(yīng)用場合》要點:
本文介紹了PHP編程:php繼承中方法重載(覆蓋)的應(yīng)用場合,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP實戰(zhàn)本文實例分析了php繼承中辦法重載(覆蓋)的應(yīng)用場合.分享給大家供大家參考.具體分析如下:
PHP實戰(zhàn)辦法重載(override)/覆蓋――在什么情況下使用:當(dāng)父類知道所有的子類都需要用到一個辦法,但父類不知道怎么去寫這個辦法時,就需要用到辦法的重載.這時候,可以讓子類去重寫,來覆蓋這個辦法.
PHP實戰(zhàn)通俗實例――父類(動物)知道其子類(貓和狗)都會叫,但它們的叫法都不一樣,所以父類沒法去寫這個辦法,只能讓子類(貓和狗)去定義.代碼如下:
PHP實戰(zhàn)
<?php
class Animal{
public $name;
protected $price;
function cry(){
echo "不知道動物怎么叫";
}
}
class Dog extends Animal{
function cry(){
echo "汪汪...";
}
}
class Pig extends Animal{
function cry(){
echo "哼哼..."
}
}
?>
PHP實戰(zhàn)辦法重載/覆蓋的要點與細(xì)節(jié)(讀起來有點呦口):
PHP實戰(zhàn)1、要求子類的方法,其方法名稱、參數(shù)列表與父類方法一模一樣.如例子中cry(),不能添加參數(shù),改成cry($naaa)等.注意:這里并不要求參數(shù)名一樣,只是要求參數(shù)的個數(shù)是一樣的.
2、所謂的重載或覆蓋,并不是將父類的方法覆蓋.也可以這么理解:如果子類有調(diào)用該方法時,如果在自己類里找不到這個方法,那么它會去找父類里,看有沒有這個方法.這也是多態(tài)的理解
3、如果子類里某個方法,要把父類里相同名稱方法里的內(nèi)容繼承下來,可以使用 parent::方法名 或 父類名::方法名 繼承.在子類定義的方法內(nèi)使用.
4、拜訪權(quán)限問題,子類的拜訪范圍>=父類的拜訪范圍,即如果父類是protected function cry(),子類則只能是protected或public.
PHP實戰(zhàn)希望本文所述對大家的php程序設(shè)計有所贊助.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP編程:php繼承中方法重載(覆蓋)的應(yīng)用場合》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/12438.html