再加一个类,让多个类继承新加的类?想不到别的方法了。。。。
1
sikariba 2017-08-02 17:03:40 +08:00
用虚基类也不行么?
|
2
mooncakejs 2017-08-02 17:07:17 +08:00
c++ 可以直接多重继承啊。
|
3
YyYyYyy 2017-08-02 17:41:49 +08:00 1
把共同的部分拆成一个组件类,给每个类加上这个组件
根据你的业务逻辑可能还可以参考其他模式比如命令模式 多重继承不是不能用,如果能用设计模式回避掉的话那就不去用多重继承。要是换个语言也不一定有多重继承给你用。 |
5
geelaw 2017-08-02 17:57:59 +08:00 via iPhone
属性?
多继承+虚拟基类( C++版接口) |
6
geelaw 2017-08-02 18:01:25 +08:00 via iPhone
另一个方法:设原基类叫 Base,建立一个叫 Base2 的类继承 Base,然后加上这些玩意儿,然后让其他类继承 Base2。
我感觉不能提到基类多半是因为 ABI 吧,这样就可以保以前的代码都对。 |
7
YyYyYyy 2017-08-02 18:16:50 +08:00
|
8
morefreeze 2017-08-02 20:55:36 +08:00
不提到基类不让继承那就用组合?写个类,然后用到的类直接把这个当成员
|
9
veelog 2017-08-02 21:09:02 +08:00 via iPhone
委托模式?
|
10
harry890829 2017-08-02 21:13:33 +08:00
这种情况下,提炼出一个类,里面是 static 的成员?不过这个确实也看实际的函数使用场景,要是能够从类中独立出来的话应该没什么问题
|
11
Miy4mori 2017-08-02 21:16:13 +08:00 via iPhone
继承不行就组合呀
|
12
derek80 2017-08-02 22:18:48 +08:00 via Android
重合的独立拿出来,组合一下
|
13
acros 2017-08-02 23:12:00 +08:00 1
信息不够啊,但多重继承肯定被排除的···
能想到的可选项: 1. 抽离出一个独立类,而且 API 很可能是静态的吧。一般这个可能性最大吧,大一点的项目都有 Utils 类什么的。 2. 做成类的一个 Component (这个叫什么模式来着,组合模式?) 3. 独立一个类,API 只开放给友元(似乎有点变态?) |