單重繼承缺陷的臨時解決方法
當我在設計一個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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- JAVA物件導向高階:繼承:許可權修飾符(繼承注意事項) 單繼承 Object類 方法重寫Java物件繼承Object
- python繼承和重寫init方法--例項Python繼承
- python 基礎之繼承、重寫、多繼承Python繼承
- java -繼承 -重寫Java繼承
- 瞭解一下JavaScript繼承的方法JavaScript繼承
- 二、Java初級--8、繼承和重寫方法Java繼承
- PostgreSQL分割槽表、繼承表記錄去重方法SQL繼承
- WP_Image_Editor_Imagick 漏洞臨時解決方法
- 類的繼承圖解繼承圖解
- 圖解js的繼承圖解JS繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 重學 JS 系列:聊聊繼承JS繼承
- wget 命令提示 “use ‘--no-check-certificate’” 臨時解決方法wget
- js繼承圖解JS繼承圖解
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 菱形繼承,虛繼承繼承
- 原型,繼承——原型繼承原型繼承
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- C++高階教程之繼承得本質:單繼承(一)C++繼承
- 繼承中構造方法的特點繼承構造方法
- js深度繼承的非遞迴方法JS繼承遞迴
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- java——繼承遇到構造方法Java繼承構造方法
- C++繼承時的修飾符C++繼承
- CSS:line-height繼承時的坑CSS繼承
- 初步瞭解 JS 繼承JS繼承
- js繼承方式講解JS繼承
- JavaScript繼承詳解(二)JavaScript繼承
- 類的繼承_子類繼承父類繼承
- c++繼承,隱藏(重定義)C++繼承
- 多繼承 與 多重繼承繼承
- 18、繼承以及繼承中成員變數和成員方法的重名問題繼承變數
- ES6中的類繼承和ES5中的繼承模式詳解繼承模式
- python3 筆記19.類的繼承和重寫、新增新方法Python筆記繼承
- python 詳解類class的繼承、__init__初始化、super方法Python繼承
- js的繼承方法小結(prototype、call、apply)JS繼承APP
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式