面向对象
是一种编程思想
概念:
(OOP: object-oriented programming)
就是把现实中的事物都抽象为“对象”。每个对象是唯一的,且都可以拥有它的属性与行为。我们就可以通过调用这些对象的方法、属性去解决问题。
三大特性
封装
概念:
封装(encapsulation)即信息隐蔽。它是指在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行,外部各部分之间的信息联系应尽可能的少。
继承
概念:
让某个类型的对象获得另一个类型的对象的属性和方法。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
多态
概念
对于同一个行为,不同的子类对象具有不同的表现形式。多态存在的3个条件:
1)继承 2)重写 3)父类引用指向子类对象
五大原则
单一职责原则SRP
类的功能要单一
开放封闭原则OCP
一个模块对于拓展是开放的,对于修改是封闭的
里式替换原则LSP
子类可以替换父类出现在父类能够出现的任何地方
依赖倒置原则DIP
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象
接口分离原则ISP
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好
类: 是一组相关属性和行为的集合。