【发布时间】:2015-06-24 07:32:56
【问题描述】:
我有两个班级 A 和 B。现在,我有 B "has a" A 关系。所以,这里要遵循的最琐碎的事情是组合模式。现在,B 的一个字段是 A 的一个对象。问题是 A 和 B 的一些字段是共同的。因此,在这种情况下,这些字段将是多余的。我不能从公共字段中创建一个抽象类并让 A 和 B 继承它,因为它们已经在扩展一些抽象类。在这种情况下,最佳做法是什么?
【问题讨论】:
-
你是说 B 可能有也可能没有 A。只有当 B 有有效的 A 时,这些字段才是冗余的?
-
B 几乎总是有一个对应的 A。两者都有一个共同的字段,这实际上是一个文件位置,其值总是相同的。
-
对不起,我很迂腐。几乎总是还是总是?
-
B 总是有一个对应的 A :)
-
那么为什么不在 A 本身中包含字段 - 并使用委托方法使其对 B 的用户看起来更好。
标签: java oop inheritance design-patterns composition