目录
1、多态
不同子类对象调用相同父类方法,产生不同执行结果。
1、多态可以增加代码灵活度
2、以继承和重写父类方法为前提
3、是调用方法的技巧,不会影响到类的内部设计
class Dog:
"""普通狗类"""
def __init__(self, name):
"""初始化方法"""
self.name = name
def game(self):
print("普通狗只能在地上玩耍")
class XiaoTianQuan(Dog):
"""哮天犬类"""
def __init__(self, name):
"""初始化方法"""
super().__init__(name)
self.name = name
def game(self):
"""哮天犬在玩耍方法"""
print("%s在天上玩耍" % self.name)
class Person:
"""人类"""
def __init__(self, name):
"""初始化方法"""
self.name = name
def play_with_dog(self, dog):
print("人物:%s 和 狗对象:%s 一起玩" % (self.name, dog.name))
wc = Dog("旺财")
print(wc.name)
wc.game()
xtq = XiaoTianQuan("哮天犬")
print(xtq.name)
xtq.game()
xm = Person("小明")
#
xm.play_with_dog(wc)
xm.play_with_dog(xtq)
# 不同的对象调用相同的方法,产生不同的结果状态就是多态
# 多态成立的三个条件
# 1.要有继承
# 2.要有方法的重写
# 3.要有父类的队形或者子类的对象 作为方法的参数