代码之家  ›  专栏  ›  技术社区  ›  DonX

继承选择权

  •  2
  • DonX  · 技术社区  · 16 年前

    除了实现接口之外,我们还可以为多个继承使用什么其他选项?

    4 回复  |  直到 11 年前
        1
  •  3
  •   Tom Hawtin - tackline    16 年前

    直接的答案是使用内部类。这就给了您两个(或更多)对象,它们是紧密相连的,但涵盖了独立的基类。

    一般来说,比起继承,更喜欢组合。到处使用继承是一个常见的错误。然而,这留下了难以遵循的僵化解决方案。

        2
  •  1
  •   maxnk    16 年前

    首先,最好避免多个继承并使用接口。而Java实际上不支持多重继承。

    但是可以使用mixin来伪造多重继承。关于这一点,有一些手册:

    Multiple Inheritance in Java

    The Java Mixin Pattern, or Faking Multiple Inheritance

    如果你想制作复合材料,我建议你看看 Qi4j 框架:

    Composite Oriented Programming with Qi4j

        3
  •  0
  •   coobird    16 年前

    Java没有 multiple inheritance .

    Interfaces The Java Tutorials :

    Java编程语言不 允许多重继承 …,但接口提供 另一种选择。

    由于多个接口可以由一个类实现,它可以作为Java中的实际多重继承的替代或替代。

        4
  •  0
  •   bradheintz    16 年前

    您可能需要使用组合——也就是说,将“父”类的一个实例作为“子”类的成员。(这里的“parent”和“child”表示如果使用继承,这两个类将具有的关系。)containing(“child”)类随后必须包装contained(“parent”)类的接口,以公开所包含类的任何功能。

    平滑包装过程的一种方法是让包含类和包含类实现相同的接口-然后,包含类中此接口方法的实现可以直接调用包含类上的相同方法。