php – 藉由安插特徵 (trait) 來修改父類別 (class) 的方法

當原有的程式碼 class My 繼承 class Base 的時候,若要改變已存在 class Base 的方法,可以藉由安插 trait 的方式,來修改 Base 的原有方法。

我們在 class My 中添加了

那麼 trait 的 Action::hello() 會覆蓋 class 的 Base::hello() 。如果在trait 的 Action::Hello() 要呼叫 class 的 Bass::Hello(),可以藉由

來達到。這是因為 class My 繼承了 class Bass,中間安插了 trait Action。所以關係上來說是

class Base -> trait Action -> class My

trait Action 的 parent 自然會是 class Base。


發表迴響