我有三个课程,A
,B
和C
从D
延伸。有A
,B
和C
类的常用方法,我放在D
中,因为A
有一些共同的方法和B
,B
和C
以及C
和A
。我可以添加另一层继承,即创建另一个类E
(为A
和B
提供常用方法),D
(为B
添加常用方法以及C
)和F
(为C
和A
提供常用方法)但是有没有与此相关的设计模式?
答案 0 :(得分:1)
您可以尝试使用合成而不是继承。只需创建其他类,让A / B / C引用这些其他类的对象。这样你就更灵活了。
答案 1 :(得分:1)
为常见行为创建小接口,并使需要共享行为的类实现多个接口。然后按照建议使用组合创建类来处理各种功能,然后组合相关类的A B C D实例来处理其接口定义的功能