2009-08-26 55 views
0

我正在使用框架,但有時我需要通過重載類來改變某些方法。OOP - 在同一時間重載一個孩子及其父類?

我的問題是,當B類從A類繼承,並在那裏我需要重載他們兩個,如:

class B extends A {} 

首先我重載A和B,以改變他們的一些方法:

class AA extends A {} 
class BB extends B {} 

那麼是什麼爲BB做從AA

延伸。在別人的話( '< - ' 號填列擴展):

class B <--- class A 
^   ^
    |    | 
    |    | 
class BB <-?- class AA 

回答

1

是。這是Traits或組合來玩的地方。

基本上,在編程概念的特徵是一組功能,您可以包含到任何類。將特徵看作只是一組可以添加到類中的函數。

0

你要完成被稱爲多重繼承什麼,但不是由PHP和大多數其他最近的語言支持。很少有充分的理由使用多重繼承,並且因爲它可能會造成混淆,所以通常會被忽略。

如前所述,你大概可以達到你想要在一個乾淨的笏通過什麼成分,但沒有有關類的詳細信息,也不可能給艾米具體建議。

0

一個好的經驗法則總是比繼承更喜歡構圖。一旦你開始思考這種方式,幾乎總是使用組合,決定何時使用繼承變得非常明顯。

相關問題