在OOP中,提到了一个术语授权。这是如何在课堂上建模的?我在雅虎等搜索,但得到了代表的链接。
答案 0 :(得分:20)
想象一下,您有课程Car
和Engine
:
public class Car {
private Engine engine = new Engine(); //or inject it externally
public void start() {
engine.start();
}
}
在此示例中,Car
委托给基础Engine
。汽车的使用者不能直接启动发动机(除非他是机械师)。但他可以告诉汽车启动,而汽车反过来告诉发动机启动。
每当使用对象组合时,您都希望使用它,并且需要使用其中一个组合对象的方法。在这种情况下,您将创建一个委托给它的方法。
答案 1 :(得分:0)
委托就像继承一样,除了不是从class1复制了class1的函数和变量的class2之外,class2只是让class1来完成它的工作,而class2则专注于执行和拥有您赋予它的额外函数和变量。一个明显的优点是它可以节省您计算机上的空间。