版权声明:本文为博主原创文章,转载请注明原帖地址,谢谢 https://blog.csdn.net/AooMiao/article/details/68950759
刚开始看特性和原则看的糊里糊涂的,随着自己慢慢的编程,逐渐明白了其中的道理,以下是简单的理解
三大特性
- 封装:要把数据和操作数据的逻辑方法都绑定到一起,隐藏一切可以隐藏的东西,只对外提供最简单的编程接口
- 继承:通过继承子类可以实现父类所有的功能,无需编写父类的代码情况下对功能进行拓展
- 多态:同一方法调用根据对象不同采取不同逻辑执行,可以消除对象之间的耦合,条件有三:继承;重写父类方法;创建对象时父类引用指向父类
单一职责原则
- 就一个类而言,只有一个能引起它变化的原因,我觉得一个类只负责自己的工作就好,编程时不要把两个互不相干的功能写到一个类或模块去
里氏替换原则
- 子类必须能够替换它们的父类,子类必须具有父类的特性;例如:一个方法的参数设定为基类(接口,抽象),我们传进去一个继承它们的子类这个方法也能正常工作,告诉我们不要轻易去重写父类的方法。
依赖倒置原则
- 高层模块不应该依赖底层模块,都应该依赖抽象
- 抽象不依赖细节,细节应该依赖抽象
- 即要求我们传递参数或关联关系时候,尽量使用层次高的抽象类
开关封闭原则
- 对拓展开放,对修改关闭
- 类一旦确定,尽量不要去修改它,因为这样虽然解决了当前的问题,但有很多潜在隐患的发生都是因为修改代码造成的,可以通过拓展类,模块以及方法行为来满足需求
接口隔离原则
- 多个专用的接口优于单一的通用接口,不要把所有方法都写到一个接口去,但要注意限度,不要出现一个接口只有一个方法的尴尬情况,这样变相提高了维护成本。