#多态
#不同的子类对象调用相同的父类方法,产生不同的执行结果
#1.增加代码灵活度 2.以继承和重写父类方法为前提 3.不会影响类内部设计
#案例
class Dog(object):
def __init__(self, name):
self.name = name
def game(self):
print(f"{self.name}玩耍")
class Xiaotianquan(Dog):
def game(self):
print(f"{self.name}飞到天上去玩耍")
class Person():
def __init__(self, name):
self.name = name
def game_with_dog(self, dog):
print(f"{self.name}和{dog.name}玩耍")
dog.game()
#1.创建狗对象
# wangcai = Dog("旺财")
wangcai = Xiaotianquan("飞天旺财")
#2.创建小明对象
xiaoming = Person("小明")
#3.让小明调用和狗玩的方法
xiaoming.game_with_dog(wangcai)
#传入不同的狗对象就会有不同的效果