Python多态和多态性
Posted 哟,写bug呢??
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python多态和多态性相关的知识,希望对你有一定的参考价值。
引用于:http://www.cnblogs.com/linhaifeng/articles/7340687.html
Python中多态是指一类事物有多种形态。比如动物有多种形态,人,狗,猫,等等。
import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): pass class People(Animal): #动物的形态之一:人 def talk(self): print(\'say hello\') class Dog(Animal): #动物的形态之二:狗 def talk(self): print(\'say wangwang\') class Pig(Animal): #动物的形态之三:猪 def talk(self): print(\'say aoao\')
Python的多态性是指:在不考虑实例类型的情况下使用实例,也就是说不同类型的实例有 相同的调用方法。比如人,猫,狗,等等只要是继承了animal就可以直接调用它的talk()方法。
peo=People() dog=Dog() pig=Pig() #peo、dog、pig都是动物,只要是动物肯定有talk方法 #于是我们可以不用考虑它们三者的具体是什么类型,而直接使用 peo.talk() dog.talk() pig.talk() #更进一步,我们可以定义一个统一的接口来使用 def func(obj): obj.talk()
使用多态性的好处:
1.增加了程序的灵活性 以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal) 2.增加了程序额可扩展性 通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用
以上是关于Python多态和多态性的主要内容,如果未能解决你的问题,请参考以下文章