java - 当前两个类已经处于基子类关系时,如何在第三个类中继承两个类?

标签 java immutability delegation

假设我想将 A 类和 B 类继承到 C 类(这里 B 也扩展了 A)。我很清楚,虽然我永远无法直接在Java中做到这一点,但通过使用Mixin继承(链接:http://csis.pace.edu/~bergin/patterns/multipleinheritance.html ),即使用一个接口(interface)和另一个接口(interface)作为基类,并在内部使用委托(delegate),当A和B是不相关的类时,我可以做到这一点。

当 A 和 B 有自己的父子,并且我需要在 C 中继承它们时,我该如何做同样的事情?

仅供引用,我正在尝试做同样的事情来实现 A 类和 B 类中的不变性。

最佳答案

如果您的类B已经扩展了类A,那么让类C扩展类B就已经成功了。通过扩展B类,您还可以获得A类中尚未在B类中专门覆盖的所有功能

大概你最终会得到:

class A
{
    public string hello()
    {
        return "Hello, World!";
    }
}

class B extends A
{
}

class C extends B
{
}

C foo = new C();
foo->hello(); // "Hello World!" because it is defined in A

关于java - 当前两个类已经处于基子类关系时,如何在第三个类中继承两个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10502723/

相关文章:

swift - 在 Playground 中测试委托(delegate)给 'nil'

java - 为什么不可变类提供修改器?

javascript - 如何只影响嵌套对象(React)中的一个键?

inversion-of-control - 超越世界/宇宙

java - 二维数组网格 - 将字符放置在每个单元格的中间

c# - UI 按钮上的 onClick 监听器委托(delegate)

delphi - 实现多个接口(interface)的类的清晰度(委托(delegate)的替代方案):

java - Android:从其他类调用 main 中按钮的 OnClick

java - 检查表是否存在sql server

java - 在Eclipse中,变量不显示扩展类的子变量