說明 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 "哼哼..."; }
}
parent::cry() 呼叫父類實作protected,子類只能 protected 或 public)abstract 強制子類實作