面向对象的基本特征:
抽象、封装、继承、多态
面向对象编程设计原则.png抽象:将事物的共性抽离出来归为一个类。如,人的身高、体重等。
封装:有选择性地对外隐藏和暴露数据和方法。比如,U盘只需暴露usb接口就可以使用,但内部结构却是隐藏的。
继承:子类可直接使用父类部分数据和方法,并可以有选择性地扩展。比如鸟儿继承自动物,但却扩展出了飞行能力。
多态:常见为重写、重载
,不同子类调用父类的相同方法则表现出不同行为,允许不同类的对象对同一消息作出响应。如动物实现了say()方法,猴子兔子等重写了say()方法。
设计模式的6大设计原则(SOLID):
Single Responsibility Principle:单一职责原则
Open Closed Principle:开闭原则
Liskov Substitution Principle:里氏替换原则
Law of Demeter:迪米特法则
Interface Segregation Principle:接口隔离原则
Dependence Inversion Principle:依赖倒置原则
详细解释:
1、单一职责原则。一个类应该仅有一个引起它变化的原因 。如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个职责的履行。
2、开闭原则。对扩展开放,对更改封闭。 为一个软件系统增加新功能时,只需要从原来的系统派生出一些新类就可以,不需要修改原来的任何一行代码。
3、里氏替换原则。子类必须能够替换任何地方的父类 。
4、迪米特法则,(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。英文简写为: LOD。
5、接口隔离原则。一个接口只应该描述一种能力。
6、依赖倒置原则(客户端不应依赖它不需要的接口;类间的依赖关系应该建立在最小的接口上。),高层模块不直接依赖底层模块。若高层模块A直接依赖底层模块B,假如要将A改为依赖C,则必须修改A的代码。而将A修改为依赖接口I,更换底层模块时只需实现接口I。
7、待定:合成/聚合原则。尽量使用合成/聚合,而不使用类继承。
网友评论