java中的委托(delegate)编程浅解

委托是一种重要的编程方式。与继承相对,是可复用编程的重要方法。

委托指的是在A类中以各种方式利用B类,完成类的功能。

委托的类型:

1.A use B

B类对象在A类中出现,但是是以局部变量或是方法参数的形式出现的。A类中并没有B类的对象作为域。

一般称这种delegation为临时性的delegation。

2.A has B

B类对象在A类中出现,B类的对象是A类的域之一。B类对象通过A类对象的constructor方法或其它方法从外部输入A类对象。

A has B有两种情况。1)Association。A类对象和B类对象之间并没有从属关系。

                                2)Aggregation。A类对象由B类聚合而成,但是B类可以脱离A类单独存在。

一般称这种delegation为永久性的delegation。

3.A ispartof B

B类对象在A类中出现,B类的对象是A类的域之一。B类对象在A类对象内创建。

B类对象不能脱离A类对象独立存在。

一般称这种delegation为永久性的delegation。

猜你喜欢

转载自blog.csdn.net/ibukikonoha/article/details/80698610