标签:ini 练习 子类 aot name 定义 init 变化 xiaohua
多态:不同的 子类对象 调用相同的 父类方法,产生不同的执行结果
Dog
类中封装方法 game
XiaoTianDog
继承自 Dog
,并且重写 game
方法
Person
类,并且封装一个 和狗玩 的方法
game
方法class Dog:
def __init__(self, name):
self.name = name
def game(self):
print("%s 很开心的玩耍..." % self.name)
class XiaoTianQuan(Dog):
def game(self):
print("%s 飞到天上玩..." % self.name)
class Person:
def __init__(self, name):
self.name = name
def game_with_dog(self, dog):
print("%s 和 %s 玩的停不下来" % (self.name, dog.name))
dog.game()
xiaohuagou = Dog("小花狗")
zfx = Person("张风闲")
zfx.game_with_dog(xiaohuagou)
xtq = XiaoTianQuan("哮天犬")
zfx.game_with_dog(xtq)
Person
类中只需要让 狗对象 调用 game
方法,而不关心具体是 什么狗
game
方法是在 Dog
父类中定义的多态 更容易编写出出通用的代码,做出通用的编程,以适应需求的不断变化!
标签:ini 练习 子类 aot name 定义 init 变化 xiaohua
原文地址:https://www.cnblogs.com/zhangfengxian/p/python-polymorphic.html