1. 什么是多态
多态(以封装和继承为前提)
不同的子类对象调用相同的方法,产生不同的执行结果
2. 举例
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('大黄')
# 创建一个人对象
xiaoming = Person('小明')
# 让小明和狗玩
xiaoming.game_with_dog(wangcai)
输出结果:
小明和大黄玩~
大黄 开心的玩耍~
情况二:
# 创建一个狗对象
wangcai = Gaifei('高飞')
# 创建一个人对象
xiaoming = Person('小明')
# 让小明和狗玩
xiaoming.game_with_dog(wangcai)
输出结果:
小明和高飞玩~
高飞和米老鼠一起玩~
来源:CSDN
作者:Kaiser king
链接:https://blog.csdn.net/weixin_45775963/article/details/104215380