四大特征:抽象,封装,继承,多态
抽象:
定义:将具体的事物某些方面映射为成计算机中的对象,这个对象同时具有属性和方法.
形式:抽象包括过程抽象和数据抽象
过程抽象:将事物的行为功能抽象为方法.
数据抽象:将事物的特征,信息抽象为属性.
封装:
定义:是将过程和数据包围起来,对象只对外提供与其他对象交互的必要接口,而将自身的某些属性和实现细节对外隐藏.
形式:使用了信息隐藏,就是禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持
作用:保证了模块具有较好的独立性,是的程序的修改使用维护较为容易.对应用程序的修改仅仅限于类的内部,将程序修改的影响降到最低.
继承:
定义:一个的新类可以从现有的类中派生的过程就是继承.是一种联结类的层次模型,允许和鼓励类的重用,提供了明确表述共性的方法.
形式:
1 实现继承 直接使用基类的属性和方法而无需提供额外编码的能力.
2 接口继承仅仅使用属性和方法的名称,但是子类必须提供实现的能力.
作用:实现了复用性,达到了在不重复编写已经实现的功能的前提下,对功能进行复用和拓展.
多态:
定义:实现继承关系的前提下,允许将多个子类对象看成是父类对象.对同样的事件都可以做出响应.
前提:1 有继承关系,2有方法重写3父类引用指向子类对象.
作用:
1 提高了代码的维护性(继承保证)
2 提高了代码的扩展性(多态保证)
限制:不能使用子类特有的属性和行为.
5大基本原则
1 单一职责原则SRP(Single Responsibility Principle)
类的功能要单一,不能包罗万象.
2 开放封闭原则OCP(Open-Close Principle)
一个模板在扩展性方面是开放的,在更改性方面是封闭的.
3 替换原则LSP(The liskov Substitution Priciple )
子类应当可以替换父类,并可以出现在父类能够出现的任何地方.
4 依赖原则DIP(the Dependency Inversion Principle)
具体依赖抽象,上层依赖下层.
5 接口分离原则ISP(the Interface Segregation Principle)
模板间要通过抽象接口隔离开,而不是通过具体的类强耦合起来.