阅读设计模式时,先理解里面的概念,在后续的学习中,可减少很多困难。
接口:一个对象能接受的所有操作集合称为该对象的接口。(通俗理解,public方法)
对象的类型:用来标示特定的接口。
对象的类:对象的实现,包括了成员,内部状态,操作实现。
举例:
两个对象以及其接口:Window{open,clos},Door{clock,unclock}
如果对像BlackHouse:Door{clock,unclock},支持Door的所有接口,则说BlackHouse具有Door类型。
如果对像WhiteHouse:Door{clock,unclock},Window{open,clos},支持Door和Window的所有接口,则说BlackHouse具有Door和Window类型。
针对接口编程而非针对实现编程
1-客户不用知道特定类型,只需对象有客户所期望的接口
2-客户不用知道具体的类,只需要知道定义接口的抽象类
优先使用组合,而非继承
委托
委托是一种组合方法。
继承和参数化类型的比较