什么是代表团?我什么时候想用它?

时间:2011-01-15 18:36:55

标签: oop design-patterns delegation

在OOP中,提到了一个术语授权。这是如何在课堂上建模的?我在雅虎等搜索,但得到了代表的链接。

2 个答案:

答案 0 :(得分:20)

想象一下,您有课程CarEngine

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则专注于执行和拥有您赋予它的额外函数和变量。一个明显的优点是它可以节省您计算机上的空间。