上课的时候提到的“委托”这一概念,刚开始还不甚理解,直到真正动手做完lab3之后才开始有了深入的理解。
总的来说委托指的是在一个类中以各种方式利用另一个类,完成类的功能。
我们这里给出了A和B两个类,要求B去实现A的某些功能,这里的做法是直接将A作为B的一个属性,而在设计时直接沿用A的操作。
一个更为具体的例子:
这里有一个LogginList,代表一个抽象的登记表,它需要执行一个remove的方法。
但是LogginList既不是对List的实现,也没有内部的相应操作,所以它添加一个List变量,通过动态绑定和功能委派来利用list的属性和操作,这样就达到了“委托”的目的。