多态
多态(以封装和继承为前提)
不同的子类对象调用相同的方法 产生不同的执行结果
class Dog(object):
def __init__(self,name):
self.name = name
def game(self):
print('%s 开心的玩耍~' %(self.name))
class Gaifei(Dog):
# 父类的方法不能满足子类的需求 重写game方法
def game(self):
print('%s和米老鼠一起玩~' %(self.name))
class Person(object):
def __init__(self,name):
self.name = name
def game_with_dog(self,dog):
print('%s和%s玩~' %(self.name,dog.name))
dog.game()
# 创建一个狗对象
wangcai = Dog('大黄')
# wangcai = Gaifei('高飞')
# 创建一个人对象
xiaoming = Person('小明')
# 让小明和狗玩
xiaoming.game_with_dog(wangcai)