我在一次采访中问了一个问题,就是说有一个带有方法drawShape()的A类,还有另一个带有drawSquare()方法的B类。现在有第三堂课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()
}
}
所示的方法基于有利于组合而不是继承的原则。如果这是正确的方法,请告诉我。这种模式也被称为策略模式,请告知它是正确的或我正在遵循的方法。关于这种方法的任何更多评论请告知,任何帮助将不胜感激。
答案 0 :(得分:2)
是的,在这种情况下,构图可能是最好的方法。 在某些情况下,您可能希望从一个类继承并在另一个类上使用组合。