python–类的多态实现
Posted 黄小墨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python–类的多态实现相关的知识,希望对你有一定的参考价值。
第一步: 先定义三个类:
class Animal: def __init__(self, name): self.name = name #这个方法的意思是,如果继承该类,就得自己写talk方法,如果不写,就抛出异常 def talk(self): raise NotImplementedError("subclass must implement abstract method") class Cat(Animal): def talk(self): return "Meow!" class Dog(Animal): def talk(self): return "woof! woof!"
第二步: 第一种方法实现多态:
定义一个函数,将类实例传入函数,在函数内执行类实例方法:
def animal_talk(obj): print(obj.talk()) cat = Cat("Missy") dog = Dog("lassie") animal_talk(cat) animal_talk(dog)
第三步:第二种方法实现多态:
将类实例放入列表,然后循环列表
animals = [Cat("Missy"), Dog("lassie")] for i in animals: print("%s:%s" % (i.name, i.talk()))
以上是关于python–类的多态实现的主要内容,如果未能解决你的问题,请参考以下文章