我在一次采访中被问到一个问题,假设有一个类 A 具有方法drawShape(),还有另一个类B 具有方法drawSquare()。现在有第三个类 C。在我的类 C 中,我想要类 A 和类 B 的这两个方法。我如何同时获取它们?
为此,我想出了以下方法: Java不支持多个Class继承:
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()
}
}
所示方法基于优先组合优于继承的原则。请让我知道这是否是正确的方法。这种模式也称为策略模式,请告知它是正确的还是我遵循的方法。如果大家对这种方法有任何更多意见,请提出建议,任何帮助将不胜感激。
最佳答案
是的,在这种情况下,组合可能是最好的方法。 在某些情况下,您可能希望从一个类继承并在其他类上使用组合。
关于java - 关于优先使用组合而不是继承方法,策略模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14983148/