不少人喜欢将多态与多态性两者混为一谈,而后百思不得其解,其实只要分开看,就会很明朗。函数
多态指的是一类事物有多种形态,(一个抽象类有多个子类,于是多态的概念依赖于继承)对象
文件有多种形态:文件、文本文件、可执行文件blog
(1)什么是多态性(注意:多态与多态性是两种概念)继承
多态性是指具备不一样功能的函数可使用相同的函数名,这样就能够用一个函数名调用不一样内容的函数。在面向对象方法中通常是这样表述多态性:向不一样的对象发送同一条消息,不一样的对象在接收时会产生不一样的行为(即方法)。也就是说,每一个对象能够用本身的方式去响应共同的消息。所谓消息,就是调用函数,不一样的行为就是指不一样的实现,即执行不一样的函数。接口
综上能够说,多态性是一个接口(函数func),多种实现(如f.click())字符串
其实你们从上面多态性的例子能够看出,咱们并无增长上面新的知识,也就是说Python自己就是支持多态性的,这么作的好处是什么呢?
(1)增长了程序的灵活性
以不变应万变,不论对象变幻无穷,使用者都是同一种形式去调用,如func(animal)
(2)增长了程序额可扩展性
经过继承animal类建立了一个新的类,使用者无需更改本身的代码,仍是用func(animal)去调用class
注:cli
多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度) 多态性:一种调用方式,不一样的执行效果(多态性)扩展