2016-12-03 99 views
-1

我正在學習複合設計模式。我只是想問,複合模式中的葉子是否可以從組件以外的任何其他類繼承?面向對象分析與設計,設計模式

enter image description here

+0

有人回答嗎? –

+0

爲什麼不能呢?在大多數的OO語言中,你總是從基類對象類繼承。即便如此,如果您根據自己的需要調整模式,那麼沒有設計模式的警察會將您送入監獄。 –

+0

從圖中「團隊」到「參與者」的箭頭應該是指向團隊的聚合箭頭(鑽石),因爲「一個團隊有多個參與者」。 – Philipp

回答

0

Composite圖案,CompositeLeaf實現相同的接口Component。這是模式的要點。

的目的是,可以編寫代碼,它把一個或Leaf由多個的Leaf S(或多個子Composite多個)Composite相同的方式。

當您使用支持接口(或者是能夠模擬它們,例如用抽象類的多重繼承)的面向對象的語言,它是由他們如何實現Component接口的類LeafComposite。他們可以通過繼承已經實現了Component的類來實現,也可以自己實現。

0

是的,這是可能的,請參考編碼頭盔中的This,它是一個非常好的樣本,它實現了一些設計模式,組合是讓葉類封裝並隔離其他類的行爲的粘合劑。
我希望這個例子有助於我的想法。
關心!