标签:封装 组合 对象 多态 鸭子 模块 property 属性
组合:
什么是组合
组合指的是一个对象中的属性,是另一个对象.
为什么要使用组合
组合目的和继承一样, 为了减少代码冗余.
封装:
什么是封装?
封装指的是把一堆属性(特征与技能)封装到一个对象中.
存数据的目的是为了取, 对象可以"."的方式获取属性.
为什么要封装?
封装的目的为了方便存取,可以通过对象.属性的方式获取属性.
访问限制机制:
什么是访问限制机制?
在类内部定义, 凡是以__开头的数据属性与方法属性,都会被python内部隐藏起来,让外部不能"直接"访问类内部的__开头的属性.
访问限制机制的目的?
一堆隐私的属性与不能被外部轻易访问的属性, 可以隐藏起来,不被外部直接调用.
property:
什么是property
python内置的装饰器, 主要是给类内部的方法使用.
为什么要用property
在对象调用某个方法时,将对象.方法()变成对象.方法(看起来想一个普通的数据属性)
obj.bmi() == obj.bmi
如何使用property
@property
def 类内部的方法(self):
多态:
什么是多态?
多态指的是同一种事物的多种形态.
多态的目的:
多态的目的是为了, 让多种不同类型的对象, 在使用相同功能的情况下,调用同一个名字的方法名.
父类: 定义一套统一的标准.
子类: 遵循父类统一的标准.
- 如何实现:
- 继承父类
- 继承抽象类
- 鸭子类型
抽象类的目的:
强制子类必须遵循父类的一套标准.
鸭子类型:
- 什么是鸭子类型?
在不知道当前对象是何物的情况下,但是你长得像鸭子,那么你就是鸭子类型.
- 继承:
耦合性太高,程序的可扩展性差
- 鸭子类型:
耦合度低,程序的可扩展性强
标签:封装,组合,对象,多态,鸭子,模块,property,属性 来源: https://www.cnblogs.com/jimGraymane/p/11657211.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。