我想知道如何将重叠类型的继承转换为 Java。我得到了抽象类 Person 和 2 个扩展子类:Driver 和 Passenger。如您所知,司机也可能是乘客。所以问题是:在 Java 中实现重叠的最佳方式是什么?听说最好的办法就是用作文,但是我不知道怎么用。
最佳答案
当一个类可以在系统中扮演两个角色时,Java 中基于继承的方法是定义两个接口(interface),并让类实现它们:
interface Passenger {
... // Methods applicable to passengers
}
interface Driver {
... // Methods applicable to drivers
}
class Person implements Driver, Passenger {
... // A person can be a driver or a passenger
}
class Pet implements Passenger {
... // A pet can be only a passenger
}
您可以在内部使用组合来实现接口(interface),方法是将方法调用转发给 Person
中的私有(private)助手“passenger”和“driver”对象。
在 Java-8 中,您可以将所有实现类通用的逻辑放入默认方法实现中。
关于java - Java中如何实现重叠继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797065/