如何避免多重继承?

Pro*_*994 4 java polymorphism inheritance

对于一个项目,我有以下课程:

  • 超类
  • 子类1
  • 子类2

这两个子类扩展了超类.现在,我需要第三个类具有SubClass 1和Subclass 2的EXACT行为(读取,相同的重写方法实现).因为Subclass 1在SuperClass中只覆盖了1个方法,而Subclass 2没有覆盖该方法,我想要使第三个类继承Superclass并使用Subclass 1和Subclass 2的方法实现它.现在,这是一个很好的OO设计吗?我没有看到其他解决方案,因为Java中的多重继承是不可能的.还有其他选择吗?

Gho*_*ica 10

Java8 为接口引入了默认静态方法.在某种程度上,这允许多重继承.但最有可能的是,正确的解决方案是重新设计您的设计.

你看,继承不是代码重用.它是关于创建有用的抽象; 并充分利用多态性.

在你的情况下:也许这些功能可以/应该放在更小的接口中; 然后分隔成自己的独立课程.然后使用对象组合而不是继承来构建所需的东西.