我已经读过“授权模式”用于“模拟JAVA中的多重继承”。我想知道像Cpp这样允许我们“多重继承”的语言怎么办,委托模式是否仍然必要?
答案 0 :(得分:1)
我假设通过“在JAVA中模拟多重继承”是指一个类,该类扩展了另一个类并且还实现了一个接口,并且具有一个也可以实现该接口的类型的类变量以及委托的方法。 /> 对于前。
class A extends B implements C {
private C c;
public void Cmethod {
c.Cmethod();
}
...
}
实际上,在C ++中,您不需要这样做,因为您已经具有多个继承。 但是,委派还有很多其他用途。 例如,可以使用委托来处理GUI工具箱中的事件:组件(例如按钮)接收消息,并将其处理委托给另一个组件。因此,委托是C ++中有效的概念。