一、单一职责和功能
每一个类最好只针对一个功能,确保修改时,最小限度影响其他类,也可方便单元测试。
二、开闭原则
对扩展开放,对修改封闭。
三、里氏替换原则
1.在任何父类出现的地方都可以用他的子类来替代(子类应当可以替换父类并出现在父类能够出现的任何地方)
子类必须完全实现父类的方法。在类中调用其他类是务必要使用父类或接
口,如果不能使用父类或接口,则说明类的设计已经违背了LSP原则。
2.子类可以有自己的个性。子类当然可以有自己的行为和外观了,也就是方
法和属性
3.覆盖或实现父类的方法时输入参数可以被放大。即子类可以重载父类的方法,但输入参数应比父类方法中的大,这样在子类代替父类的时候,调用的仍然是父类的方法。即以子类中方法的前置条件必须与超类中被覆盖的方法的前置条件相同或者更宽松。
4.覆盖或实现父类的方法时输出结果可以被缩小。