补充继承里面的知识,MRO
-多态是同一事物多种形态,文件也有多种形态:文件,文本文件,可执行文件
-多态不是语法,是一种设计思想
-多态:同一事物的多种形态
什么是多态性呢?这里注意了,多态性和多态是两个不同的概念。
多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。
简单说就是:
‘同一种调用方式,出现不同的执行效果’
#多态性依赖于继承
##多态性:定义统一的接口
def func(obj):
print(obj.__len__())
func('hello')
5
func([1,2,3,4])
4
func((1,2,3,4))
4
#都是调用同一个函数,执行的结果却不一样
#问题就在于函数的参数‘obj’上面,这个参数是多态性的关键,他是多态性的具体表现形式
总的来说,在python中,多态性是一个接口(函数func),多种实现(如 func(‘hello’))
上面的例子看到了,我们并没有怎加函数中的代码,但是在下面通过多态性实现了多种功能,好处是
在python中有很多适用于面向对象的内置函数,这些函数都是很有用的,可以去了解一下!