我正在构建一个相对简单的应用程序,并且对更好的设计实践有点困惑。
我有一个主类 MClass。Child1 和 Chil2 类都继承自 MClass。现在,还有另一个类 AClass,它可以从 Child1 或 Child2 继承,但不能同时继承两者(我相信,这只能通过接口实现)。
如何从一个或另一个类中获得这种可选继承?
还有类 AChild1 和 AChild2,它们都继承自 AClass。最终结果如下:
MClass:Child1:AClass:AChild1
MClass:Child2:AClass:AChild2
这是唯一可能的两个选项。简单地将 AClass 与其拥有的孩子结合起来会更好吗
MClass:Child1:AClass1
MClass:Child2:AClass2
我可以这样做,但 AClass1 和 AClass2 会有很多冗余字段......有什么建议吗?
谢谢!
编辑:
下面是一个具体的情况:
我有一件可以是 Type1 或 Type2 的设备。类设备有很多属性。Type1 和 Type2 有自己的属性,它们继承自 Equipment。Type1 和 Type2 都有电缆。有一个具有特定属性的电缆类。此外,Type1 和 Type2 有不同类型的电缆,CableType1 CableType2,它们有自己的特定属性,并从 Type1 或 Type2 继承字段。