我看到一些代码有一个包含其他兄弟姐妹的子类。例如,下面的Child1包含其兄弟级Child2,Child3。我想知道这种设计是否有问题?
public class Parent
{
...
}
public final class Child1 extends Parent
{
private Child2 child2;
private Child3 child3;
...
}
public final class Child2 extends Parent
{
...
}
public final class Child3 extends Parent
{
...
}
最佳答案
从技术的角度来看,您发布的代码没有错,但这使我怀疑这是否是建模域的正确方法。从您的域的角度来看,Child1与Child2和Child3对话是否有意义?还是这只是一种将代码分成逻辑部分的机制?
另外,应尽可能避免使用较大的继承树,因为继承是最强的耦合形式。也许您可以使用策略模式来实现相同的功能,以减少耦合。
关于java - Java包含其他 sibling 的子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21828721/