首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 方法覆寫應用場景與規範:以動物叫聲為例

     編輯:PHP 綜合知識

說明 PHP 繼承中方法覆寫的適用時機:父類知道所有子類都需要某行為,但具體實作由子類決定。以「動物叫聲」為例,展示覆寫規範與多態應用。

適用場景

父類 Animal 知道子類 Dog、Pig 都會叫,但叫法不同,故宣告 cry() 供子類覆寫:

class Animal {
    public $name;
    protected $price;
    function cry() { echo "不知道動物怎麼叫"; }
}
class Dog extends Animal {
    function cry() { echo "汪汪..."; }
}
class Pig extends Animal {
    function cry() { echo "哼哼..."; }
}

覆寫規範四要點

  1. 簽名一致:方法名、參數個數必須相同(參數名可不同)
  2. 查找機制:子類物件呼叫方法時,優先查找自身,找不到再往父類找,這是多態基礎
  3. 保留父類邏輯:子類中可用 parent::cry() 呼叫父類實作
  4. 存取權限:子類方法可視性 ≥ 父類(如父類 protected,子類只能 protected 或 public)

實務建議

  • 父類方法若無預設實作,建議宣告為 abstract 強制子類實作
  • 避免在覆寫方法中改變參數型別或回傳型別,維持介面契約
  • 大量覆寫時考慮介面或 Trait 替代深層繼承
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved