php中的方法重寫是指子類別在繼承父類別的一些方法後,子類別又在內部定義了相同的方法,而這個新定義的方法會覆寫從父類別繼承的方法,子類別只能呼叫其內部定義的方法,這便是方法重寫。
方法重寫:
是指當子類別繼承父類別的一些方法後,子類別又在其內部定義了相同的方法,則這個新定義的方法會覆寫繼承而來的父類別的方法,子類別只能呼叫其內部定義的方法。
(推薦教學:java影片教學)
要求:
1、當一個父類別和子類別有一個方法,參數和名字完全一致,那麼子類別方法就會覆寫父類別的方法。
必須參數一致,才會實作方法覆寫。當參數個數不一致,則會報錯(這就牽扯到上面說所得方法重載)。當方法名字不一致,就不會覆蓋,只是子類別新定義的方法。
2、實施方法覆蓋的時候,存取修飾符可以是不一樣的,但是子類別的存取範圍必須大於等於父類別的存取範圍。
這是php這些語言設計時的規定吧。我是這麼理解的是訪問高一層的東西比較容易,如果再去訪問底層的東西權限肯定要高一些。
要求參數和名字一樣。並不是要求子類,父類名稱相同。
是要求參數和名字一樣,具體就是要求參數的數量與父類別相同,而並不是參數名稱一致。即傳遞的參數名字可以為任意,只要保證傳遞的個數相同即可。
範例:
<?php class shao { public function sasa($name){ echo $name,'狗!<br/>'; } } class zhen extends shao{ public function aaa() { echo '猫<br/>'; } } $lli = new zhen(); $lli->aaa(); $lli->aaa('binghh'); ?>
<?php class fu { public function text(){ echo '父类'; } public function textt(){ echo '父亲'; } } class erzi extends fu{ public function text() { parent::text();//我要父类的东西 echo '儿子';//重写 } } $shili = new fu(); $erzi = new erzi(); $erzi->text(); ?>
相關推薦:php訓練
以上是php中的方法重寫是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!