單重繼承缺陷的臨時解決方法
當我在設計一個Composition SDK的時候,我遇到了一個由單重繼承引起的問題。請先看一下類圖。
介面組合思路與微軟的CAB類似。遇到的問題就是:1 在圖中存在繼承了類B的類A需要繼承類C的功能,但是單重繼承又不能使A繼承C,如何解決呢? 2 具體的應用會對SmartPart,PulledSmartPart,PushedSmartPart,MasterSmartPart,PulledMasterSmartPart,PushedMasterSmartPart進行相應的繼承擴充套件,如何能夠靈活處理呢?
目前,我採用的是組合的方式來實現,即按介面層次實現一組透過能,按必須繼承的類完成一組功能,將兩組功能組合起來。
不過,每一個需要繼承系統類的類,如果它實現ISmartPart/IWorkspace介面,都必須重新使用Composor實現一次,我暫時無法找到更好的解決方案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3034/viewspace-2800075/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- JAVA物件導向高階:繼承:許可權修飾符(繼承注意事項) 單繼承 Object類 方法重寫Java物件繼承Object
- python繼承和重寫init方法Python繼承
- ASM Disk丟失的臨時解決方法ASM
- java -繼承 -重寫Java繼承
- 臨時表空間過大的解決方法
- 臨時表空間已滿的解決方法
- python 基礎之繼承、重寫、多繼承Python繼承
- Java單繼承Java繼承
- python繼承和重寫init方法--例項Python繼承
- 二、Java初級--8、繼承和重寫方法Java繼承
- 瞭解一下JavaScript繼承的方法JavaScript繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- PostgreSQL分割槽表、繼承表記錄去重方法SQL繼承
- 簡單的JavaScript繼承(譯)JavaScript繼承
- 最簡單的原型繼承原型繼承
- 重學 JS 系列:聊聊繼承JS繼承
- 繼承 重寫和抽象類繼承抽象
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- iOS 繼承&類方法iOS繼承
- WP_Image_Editor_Imagick 漏洞臨時解決方法
- 圖解js的繼承圖解JS繼承
- 類的繼承圖解繼承圖解
- PHP防止表單重複提交的解決方法PHP
- js繼承圖解JS繼承圖解
- Java 繼承詳解Java繼承
- java抽象繼承-模板方法Java抽象繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- wget 命令提示 “use ‘--no-check-certificate’” 臨時解決方法wget
- C++高階教程之繼承得本質:單繼承(一)C++繼承
- C++繼承時的修飾符C++繼承
- c++繼承,隱藏(重定義)C++繼承
- oop繼承與重寫筆記一OOP繼承筆記
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承