1、开闭原则
2、接口隔离原则
3、依赖倒置原则
4、迪米特原则
5、里氏替换原则
6、单一职责原则
里氏替换原则
什么是里氏替换原则?
里氏替换原则的定义:任何使用基类的地方,都可以透明的使用其子类。从定义中可以看出,它和继承差不多,我们也可以这样理解,里氏替换原则=继承+透明,也就是继承的加强版,取其继承的优点,剔除继承的缺点。
为什么要使用里氏替换原则:
例如,鸵鸟、燕子从生物学的角度来划分,它们都属于鸟,但从继承关系来看,由于它们不能继承“鸟”会飞的能力,所以它们不能定义成“鸟”的子类。因此如果把鸵鸟和燕子都继承“鸟”的特性,那么在程序中继承类的对象在基类出现的地方就会出现运行错误,为了避免这种错误,我们要遵循里氏替换原则:取消原来的继承关系重新设计它们之间的关系。
怎么样才算遵守里式替换原则?
父类实现的东西,子类就不要再写了(就是不要new隐藏);
如果想修改父类的行为,通过abstract或virtual来修改;
父类有的,子类必须有,如果出现了子类没有的东西,那么就应该断掉继承,再重新写一个父类