目录
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.要有父类的队形或者子类的对象 作为方法的参数
本文通过Python代码示例介绍了多态的概念,展示了如何通过继承和方法重写实现多态。文中创建了Dog和XiaoTianQuan类,并在Person类中使用多态调用game方法,展示不同对象调用相同方法产生不同结果。多态增加了代码的灵活性,是面向对象编程的重要特性。
304

被折叠的 条评论
为什么被折叠?



