[英]Multiple Inheritance and Bridge Pattern
使用多個 inheritance 實現橋接模式有什么意義? GoF 在他們的《設計模式》一書中解釋它的方式使它看起來與意圖有悖常理。
另外,為什么多個 inheritance 使實現不符合真正的橋接模式?
非常感謝示例。
這一切都在實施問題 #4 中進行了解釋。
使用多個 inheritance 。 您可以在 C++ 中使用多個 inheritance 來組合接口及其實現。 例如, class 可以公開繼承
Abstraction
並私有繼承Concretelmplementor
。 但是因為這種方法依賴於 static inheritance,所以它將一個實現永久地綁定到它的接口上。 因此,您不能實現具有多重繼承的真正 Bridge——至少在 C++ 中不能。
所以...
使用多個 inheritance 實現橋接模式有什么意義?
你不能。
GoF 在他們的《設計模式》一書中解釋它的方式使它看起來與意圖有悖常理。
這是。 這就是為什么你不能這樣做。
為什么多個 inheritance 使實施不符合真正的橋接模式?
“因為這種方法依賴於 static inheritance,”[p. 156] 和“繼承將實現永久綁定到抽象,這使得獨立修改、擴展和重用抽象和實現變得困難。” [頁。 151]...這是橋梁的動機。
老實說,我不完全確定為什么 GoF 覺得有必要在橋梁章節中提出多個 inheritance,但談話似乎是這樣的 go。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.