笔记:python基础之面向对象特性——多态
2019-02-12 20:44
218 查看
多态指的是一样事物有多种表现形态。(自定义函数中的参数类型,不用在建立函数时就定义)
多态性是指在不考虑实例类型的情况下使用实例。
python 天生支持多态,没有生成多态的机制,是因为python天生支持多态。
def func(int num,str name): pass func('alex',2) class Payment:pass class Alipay(): def pay(self,money): print('已经用支付宝支付了%s元' % money) class Applepay(): def pay(self,money): print('已经用applepay支付了%s元' % money) def pay(pay_obj,money): # 统一支付入口 归一化设计 pay_obj.pay(money) pay()
什么是多态
python 动态强类型的语言(可以是强类型和弱类型)
鸭子类型——不依赖父类的情况下实现两个相似的类中的同名方法
list tuple
- 不崇尚根据继承所得来的相似
- 我只是自己实现我自己的代码就可以了。
- 如果两个类刚好相似,并不产生父类的子类的兄弟关系,而是鸭子类型
- list tuple 这种相似,是自己写代码的时候约束的,而不是通过父类约束的
优点 : 松耦合 每个相似的类之间都没有影响
缺点 : 太随意了,只能靠自觉
class List(): def __len__(self):pass class Tuple(): def __len__(self):pass def len(obj): return obj.__len__() l = Tuple() len(l) #不同类型中都有相同的自定义函数名称__len__,所以对类型的要求不高
相关文章推荐
- 笔记:python基础之面向对象特性——封装
- 我与python约个会:26. 企业级开发基础7:面向对象特征(多态)
- python学习笔记6(面向对象基础)
- 【java基础】--(1)面向对象特性之多态
- 面向对象非常非常重要的一个特性“多态”的学习笔记
- Python面向对象特性 - 多态
- Python学习笔记:面向对象基础
- 设计模式学习笔记二:面向对象基础三之多态
- 【Java基础笔记】面向对象基础
- Python基础教程,第八讲,面向对象
- java基础2 面向对象三等基本特征,五大基本特性
- Java第四次作业--面向对象高级特性(继承和多态)
- oc面向对象特性: 多态
- 【知了堂学习笔记】Python面向对象
- Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态
- java学习笔记-类, 面向对象特性,包机制
- 黑马程序员------Java基础(面向对象和基本特性)
- Python基础笔记_Day11_Python单继承、多继承、重写方法、Python多态、Python静态方法和类方法
- python 1 面向对象基础知识
- Python3 高级功能学习笔记(面向对象和正则表达式)