一、面向对象三大特征
1、封装 (分):就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏
2、继承(隔):指可以让某个类型的对象获得另一个类型的对象的属性的方法(隔离变化)
a:目的 体现 抽象、统一、隔离
b:多继承 隔离多个维度的变化,同名方法解析顺序 类.mro()
c:继承不是代码的复用方式
3、多态(做):父类的同一种动作或行为,在不同的子类上有不同的体现
a:实现步骤 调用父、子重写、创建子
b:目的 在继承的基础上,彰显子类个性,增强过程序扩展性,体现开闭原则
二、面向对象六大原则
1、开闭原则
a:思想 新增新功能 ,不改变原代码
2、类的单一职责
a:概念 一个类有且只有一个改变他的原因
b:用法 划分每个类要做的事
3、依赖倒置(依赖抽象) 引出继承
4、组合复用原则 如果仅仅为了代码复用优先选择组合复用(是一个),非继承复用(是一种)
a:连接变化(人通过变量调用交通工具)
5、里氏替换
1>父类出现的地方被子类替换,替换后依然保留父类功能
2>子类在重写父类的方法时,尽量选择扩展重写
6、迪米特法则:低耦合