OOP-面向对象编程
2021-09-27 本文已影响0人
内卷程序员
类
具有相同属性和行为事物的统称
对象
某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的
类和对象之间的关系
类就是创建对象的模板
面向对象三大特性:封装,继承,多态
-
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对隐藏信息的操作和访问
-
继承:子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
-
多态: 多态是同一个行为具有多个不同表现形式或形态的能力,多态在面向对象一般通过子类们继承父类实现;接口也可以实现多态(不属于面向对象,但是面向对象可以用)。方法重载也是一种多态。
7大原则
-
开闭原则:对扩展开放,对修改关闭,通过抽象封装可变元素,使用子类来改变模块的行为
-
单一职责: 一个对象应该只包含单一的职责。并将该职责完整的封装到一个类中, 尽量高内聚,低耦合
-
里氏替换: 所有引用基类的地方都能透明的使用其子类,使用基类型来对对象进行定义,而在运行时在确定其子类类型
-
依赖倒置:高层模块不应该依赖底层模块,都应该依赖抽象,细节依赖于抽象, 声明类型用抽象,实现用具体
-
接口隔离:客户端不应该依赖那些它不需要的接口,一个类接口太多,则需要将它分割成一些更细小的接口
-
迪米特:最少知道原则,不要和陌生人说话,类之间不要有直接或者间接联系,通过中介来传递信息,降低耦合度
-
合成复用:尽量使用对象组合,而不是继承来达到复用的目的,多使用聚合、组合关系,少用继承。