本文共 747 字,大约阅读时间需要 2 分钟。
多态:不同的子类对象,调用相同的父类方法,产生不同的执行结果。
多态以继承和重写父类方法为前提。
多态可以增加代码的灵活性。
人和普通的狗玩耍,或者和哮天犬玩耍。
Person类中只需要让狗对象调用game方法,在程序执行的时候,传入不同的狗对象实参,就会产生不同的执行结果。
class Dog(object): def __init__(self, name): self.name = name def game(self): print("%s 在快乐的玩耍..." % self.name)class XiaoTianDog(Dog): def game(self): print("%s 飞到天上快乐的玩耍..." % self.name)class Person(object): def __init__(self, name): self.name = name def person_with_game(self, dog): print("%s 和 %s 正在一起玩耍" % (self.name, dog.name)) dog.game()# wangcai = Dog("旺财") # 调用的Dog的game的代码wangcai = XiaoTianDog("飞天旺财") # 调用的XiaoTianDog的代码xiaoming = Person("小明")xiaoming.person_with_game(wangcai) # 人对象的代码没有改动,均为dog.name
转载地址:http://egjq.baihongyu.com/