更新时间:2024-05-21 14:53
[pre]______________
|<>|
| 光盘 |
|_____________|
|+卖() |
| |
|_____________|[/pre]
public class DiscFactory{
}
}
有人要买盗版盘,怎么实现呢?
public class 小子{
光盘.卖();
}
}
2、里氏代换原则
光盘 d=new 盗版盘();
d.卖();
光盘 d=new 盗版盘();
d.卖();
可以说:里氏代换原则是继承复用的一个基础。
3、合成复用原则
抽象不应该依赖与细节,细节应当依赖与抽象。
要针对接口编程,而不是针对实现编程。
传递参数,或者在组合聚合关系中,尽量引用层次高的类。
主要是在构造对象时可以动态的创建各种具体对象,当然如果一些具体类比较稳定,就不必在弄一个抽象类做它的父类,这样有画舌添足的感觉
定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干
6抽象类
抽象类不会有实例,一般作为父类为子类继承,一般包含这个系的共同属性和方法。
注意:好的继承关系中,只有叶节点是具体类,其他节点应该都是抽象类,也就是说具体类
是不被继承的。将尽可能多的共同代码放到抽象类中。
最少知识原则。不要和陌生人说话。