目录
一、理解多态
1、概念
2、使用场景
3、特点
二、多态案例1
1、需求
2、代码实现
一、理解多态
1、概念
-
不同的子类对象调用相同的父类方法,产生不同的执行结果
2、使用场景
-
以继承和重写父类方法为前提
-
是调用方法的技巧,不会影响到类的内部设计
3、特点
-
多态可以增加代码的灵活度
-
在Python中可以为一个变量赋值为不同类型的对象,所以在代码中多态体现不够明显
-
在自动化测试脚本几乎应用不到,了解多态即可

二、多态案例1
1、需求
-
在Dog类中封装方法game
-
普通狗只是简单的玩耍
-
-
定义XiaoTianDog继承自Dog,并且重写game方法
-
哮天犬需要在天上玩耍
-
-
定义Person类,并且封装一个和狗玩的方法
-
在方法内部,直接让狗对象调用game方法
-
2、代码实现
class Dog(object):
def __init__(self,name):
self.name = name
def game(self):
print(f'{self.name}在玩耍...')
class XiaoTianDog(Dog):
def game(self):
print(f'{self.name}飞到天上去玩耍...')
class Person(object):
def __init__(self,name):
self.name = name
def gamewithdog(self,dog):
print(f'{self.name}和{dog.name}快乐的玩耍')
dog.game()
if __name__ == '__main__':
wangcai = XiaoTianDog('飞天旺财')
xiaoming = Person('小明')
xiaoming.gamewithdog(wangcai)
'''
运行结果:
小明和飞天旺财快乐的玩耍
飞天旺财飞到天上去玩耍...
'''