【发布时间】:2011-06-09 17:47:20
【问题描述】:
在 OOP 中,提到了一个术语委托。这是如何在课堂上建模的?我在 yahoo 等上进行了搜索,但得到了代表的链接。
【问题讨论】:
标签: oop design-patterns delegation
在 OOP 中,提到了一个术语委托。这是如何在课堂上建模的?我在 yahoo 等上进行了搜索,但得到了代表的链接。
【问题讨论】:
标签: oop design-patterns delegation
假设你有 Car 和 Engine 类:
public class Car {
private Engine engine = new Engine(); //or inject it externally
public void start() {
engine.start();
}
}
在此示例中,Car 代表底层 Engine。汽车的使用者不能直接启动发动机(除非他是机械师)。但他可以告诉汽车启动,而汽车又会告诉引擎启动。
每当您使用对象组合并且需要使用组合对象之一的方法时,您都希望使用它。在这种情况下,您创建一个委托给它的方法。
【讨论】:
委托就像继承,除了 class2 从 class1 复制函数和变量,class2 只是让 class1 为它做这些事情,而 class2 专注于做和拥有你给它的额外函数和变量。这样做的一个明显优势是它可以节省您的计算机空间。
【讨论】: