标签:level 应该 dip 方法 gre 条件 完全 lsp -o
定义2:If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T,the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T.
四层含义:
1.子类必须完全实现父类的抽象方法,但不能覆盖父类的非抽象方法.
2.子类中可以增加自己特有的方法.
3.当子类的方法重载父类的方法时,方法的前置条件(方法的形参)要比父类方法的输入参数要更宽松;
4.当子类的方法实现父类的抽象方法时,方法的后置条件(方法的返回值)要比父类更严格.
定义:又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解,不和陌生人说话.(Talk only to your immediate friends.)
解释:
一个软件实体应当尽可能少的与其他实体发生相互作用.每个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位.迪米特法则的初衷在于降低类之间的耦合,由于每个类尽量减少对其他类的依赖,因此很容易使得系统的功能模块独立,相互之间不存在(或很少有)依赖关系.
标签:level 应该 dip 方法 gre 条件 完全 lsp -o
原文地址:https://www.cnblogs.com/o-v-o/p/10132171.html