我看到一些代码有一个包含其他兄弟姐妹的子类。例如,下面的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/

10-10 08:03