【发布时间】:2016-04-04 13:44:51
【问题描述】:
我目前正在处理一个 Java 项目,我有 3 个从抽象类 N 继承的类(I、H 和 O)。其中 I 和 O 需要在类 S 中描述的属性,而类 H 和 O 需要描述的属性在类 P 中。属性 P 和 S 都不能用接口生成。这会导致问题,如果我要实现这样的结构:
N->P
N -> S
和 I -> S,O -> S
和 O -> P, H -> P
但这在 java 中是不可能的,因为它不允许多重继承。
一个合乎逻辑的解决方案是让 S 从 P 继承, P 从 N 继承。但这会导致问题,即 I 具有 P 中不需要的属性。
我正在寻找一种干净的方式来实现它,感谢您的阅读!
【问题讨论】:
-
->是什么意思?你的意思是“实现”还是“被实现”? -
我倾向于阅读 -> 作为“使用”,这是正确的吗?我不知道你所说的“财产”到底是什么意思。我的直接想法是拥有接口 UsesP 和 UsesS 并让使用 P 和 S 的类实现它们——或者你说的那是不可能的??
标签: java inheritance polymorphism