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

Gur*_*epS 6 oop design-patterns delegation

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

Boz*_*zho 22

想象一下,你有类CarEngine:

public class Car {
   private Engine engine = new Engine(); //or inject it externally

   public void start() {
       engine.start();
   }
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,Car委托给底层Engine.汽车的使用者不能直接启动发动机(除非他是机械师).但他可以告诉汽车启动,而汽车反过来告诉发动机启动.

每当使用对象组合时,您都希望使用它,并且需要使用其中一个组合对象的方法.在这种情况下,您将创建一个委托给它的方法.

  • +1对此进行扩展。继承也隐含地委托给父代。上面描述的是显式委派。 (2认同)