对象:现实中指具体的事物,在面向对象程序设计中,对象是数据和动作的结合体。
类: 是具有相同数据特性和功能的对象的抽象。
对象与类的关系: 类是对象的抽象,对象是类的实例化。
面向对象的三大特性:
封装:将对象的属性与方法进行封装,对外只提供公共访问方式,实现信息隐藏和模块独立。
继承:对象的一个新类可以从现有的类中派生,新类可以使用现有类的所有功能,也可以增加新的功能。
多态:多态基于继承,继承得到的子类通过对原有方法的重写,实现了同一消息经过父类与子类相同方法后得到不同响应的效果。
五大原则:
单一职责原则SRP(Single Responsibility Principle)
类的功能要单一,不能包罗万象。
开放封闭原则OCP(Open-Close Principle)
一个模块对于拓展是开放的,对于修改是封闭的。
里式替换原则LSP(the Liskov Substitution Principle LSP)
子类可以替换父类出现在父类能够出现的任何地方。
依赖倒置原则DIP(the Dependency Inversion Principle DIP)
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
接口分离原则ISP(the Interface Segregation Principle ISP)
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。就比如一个手机拥有打电话,看视频,玩游戏等功能,把这几个功能拆分成不同的接口,比在一个接口里要好的多。