Java多重继承,消除重复代码
有库类B和C,它们都继承自类A。我有两个扩展B和C的类,即MyB和MyCJava多重继承,消除重复代码,java,multiple-inheritance,Java,Multiple Inheritance,有库类B和C,它们都继承自类A。我有两个扩展B和C的类,即MyB和MyC A / \ B C / \ MyB MyC MyB&MyC共享许多通用代码,它们只是略有不同 我想消除重复代码,如何在java中做到这一点?在C++中,创建一个公共基类并将其常见的内容放在下面是可能的: A / \ B C \ / MyBase / \ MyB MyC 您可以使用: 使用通用代码创建一个新类MyCommon 在
A
/ \
B C
/ \
MyB MyC
MyB
&MyC
共享许多通用代码,它们只是略有不同
我想消除重复代码,如何在java中做到这一点?在C++中,创建一个公共基类并将其常见的内容放在下面是可能的:
A
/ \
B C
\ /
MyBase
/ \
MyB MyC
您可以使用:
- 使用通用代码创建一个新类MyCommon
- 在MyB和MyC中添加一个MyCommon实例,并将工作委托给MyCommon
D
中。现在,使MyC
和MyB
每个成员都有一个D
的实例。在Java中,您将使用以下内容:
B
和C
的实例封装在“MyBase
中的组合(模式)B
和C
(如有必要)以公开单独的接口,例如IB
和IC
MyBase
实现多个接口:IB
和IC
,通过“做正确的事情”将接口上的方法映射到内部B
和C
实例MyB
和MyC
来实现适当的接口,并将调用映射到MyBase
嘎击败了我。:)击败所有人…;-)+1、好东西。这是一篇很有帮助的文章,可能会很好地包含在回答中:哇,这是第一次,我在不到一分钟的时间内看到了+10次重复,因为回答是什么让我打开了灯泡…请查看以下内容: