一、S 单一责任原则
单一职责原则(Single Responsibility Principle) 每个方法或者类应当只做一件事情,或者只有一项职责。
二、O开放封闭原则
开放封闭原则(Open Closed Principle)是所有面向对象原则的核心。
三、L 里氏替换原则
父类中凡是实现了的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有子类必需遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。
在继承过程中有以下条款:
A、子类可以实现父类的抽象方法,但不能覆盖父类非抽象的方法
B、子类中可以增加自己特有的方法
C、当子类的方法重载父类方法时,形参要比父类方法的形参更宽广。
D、当子类方法实现父类抽象方法时,返回参数要比父类更精确
四、I 接口分离原则
不能强迫用户去依赖那些他们不使用的接口。
五、D依赖倒置原则
1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象
2. 抽象不应该依赖于细节,细节应该依赖于抽象