我在一次采访中被问到一个问题,可以说有一个类 A 使用方法 drawShape(),而另一个类 B 使用方法 drawSquare()。现在有第三个 C 类。在我的 CI 类中,需要 A 类和 B 类的这两种方法。我如何同时获得它们?
为此,我提出了以下方法:Java 不支持多类继承:
Class.interface IA {
void drawshape();
}
inerface IB {
void drawsquare();
}
class A implements IA {
...
}
class B implements IB {
...
}
class C implements IA, IB {
private A a;
private B b;
void drawshape() {
a.drawshape()
}
void drawsquare() {
b. drawsquare()
}
}
所示方法基于优先组合优于继承的原则。请让我知道这是否是正确的方法。这种模式也被称为策略模式,请告知它是正确的或我正在遵循的方法。伙计们对这种方法有任何更多的意见,请提出建议,任何帮助将不胜感激。