面向对象三大特征
- 继承
- 封装
- 多态
OOP编程6大原则
缩写 | 全称 | 中文 |
---|---|---|
S | Single Responsibility Principle | 单一职责原则 |
O | Open-Close Principle | 开放封闭原则 |
L | Liskov Substitution Principle | 里式替换原则 |
I | The Interface Segregation Principle | 接口分离原则 |
D | The Dependency Inversion Principle | 依赖倒置原则 |
Law of Demeter | 迪米特法则-最少知识原则 | |
Composite Reuse Principle | 合成复用原则 |
1. 单一职责原则SRP
- 一个类或者一个模块只负责完成一个职责或者功能,不要设计大而全的类, 要设计粒度小,功能单一的类, 单一职责是为了实现代码高内聚,低耦合,提高代码的复用性,可读性,可维护性。
2. 开放封闭原则OCP
- 添加一个新功能,应该是通过现有共扩展代码(新增模块,类,方法,属性等), 而非修改已有代码的方式来完成。
3. 里式替换原则LSP
- 所有引用基类的地方必须能透明的使用其子类的对象。 class A 和class B, a的类型上有b,那么所有用到b的地方都可以用a进行替换
4. 接口分离原则ISP
- 定义是:客户端不应该依赖它不需要的接口。另一种定义是:类间的依赖关系应该建立在最小的接口上。接口隔离原则将非常庞大,臃肿的接口拆分成更小的接口和更具体的接口,这样客户只需要知道他们感兴趣的方法。接口隔离原则的目的是系统解开耦合,从而容易重构、更改和重新部署。
5. 依赖倒置原则DIP
- 主要用来指导框架层面的设计。高层模块不依赖低层模块,它们共同依赖同一个抽象。抽象不要依赖具体实现细节,具体实现细节依赖抽象。
6. 迪米特法则-最少知识原则
- 一个对象应该对其他对象有最少的了解。
7.合成复用原则(Composite Reuse Principle)
- 尽量首先使用合成/聚合的方式,而不是使用继承。