组合
什么是组合
组合指的是一个对象中的属性,是另一个对象.
为什么要使用组合
为了减少代码冗余
封装
什么是封装
封装指的是把一堆属性(特征与技能)封装到一个对象中
为什么要封装
封装的目的为了方便存取,可以通过对象.属性的方式获取属性
封装 - 隐藏
在python中 隐藏只是封装的一种表现
如何隐藏
在类内部定义, 凡是以__开头的数据属性与方法属性
会被python内部隐藏起来(变形),让外部不能"直接"访问类内部的__开头的属性
隐藏的目的
对重要数据获取的逻辑更加严谨, 进而保证了数据的安全.
如何调用使用隐藏属性
接口: 隐私属性可以通过封装一个接口,在接口内做业务逻辑的处理,再把数据返回给调用者
property
什么是property
python内置的装饰器, 主要是给类内部的方法使用
为什么要使用property
在对象调用某个方法时,将对象.方法()变成对象.方法 看起来想一个普通的数据属性,遵循了统一访问的原则
如何使用property
@property
多态
什么是多态
多态指的是同一种事物的多种形态
多态的目的
统一子类编写的规范, 为了让使用者更方便调用相同功能的方法
抽象类
什么是抽象类
abc模块 abstract_class
使用抽象类的目的
强制子类必须遵循父类的一套标准
鸭子类型
在不知道当前对象是何物的情况下,但是你长得像鸭子,那么你就是鸭子类型.
在python中,不推荐使用抽象类强制限制子类的定义,但是推荐类都遵循鸭子类型.
继承:
耦合性太高,程序的可扩展性差鸭子类型:
耦合度低,程序的可扩展性强