一、多态
多态指的是一类事物的多中形态
相同的方法,产生不同的执行结果
运算符 + * 的多态
int + int 加法计算
str + str 字符串拼接
list + list 列表的数据合并
在python中可以使用类实现一个多态效果
在python中使用重写的方式实现多态
(1)定义两个类:老师、车;
(2)定义老师类的属性:姓名,定义老师类的方法:开车、停车;
(3)定义车类的属性:类型,定义车类的方法:开启、停止;
(4)联系:老师开车,执行程序,观察效果
# 多态
class Teacher:
def __init__(self,name):
self.name = name
def run(self):
print(f'{self.name}老师开车')
def stop(self):
print(f'{self.name}老师停车')
class Car:
def __init__(self,type):
self.type = type
def start(self):
print(f'{self.type}启动')
def close(self):
print(f'{self.type}熄火')
t = Teacher('张三')
c = Car('小汽车')
c.start()
t.run()
c.close()
t.stop()
#使用继承方式,调整执行的方法
# 多态
class Teacher:
def __init__(self,name):
self.name = name
def run(self):
print(f'{self.name}老师开车')
def stop(self):
print(f'{self.name}老师停车')
class Car(Teacher):
def __init__(self,type,name):
super().__init__(name)
self.type = type
def start(self):
print(f'{self.type}启动')
super().run()
def close(self):
print(f'{self.type}熄火')
super().stop()
c = Car('小汽车','张三')
c.start()
c.close()
(5)思考:老师有可能开小轿车、骑自行车、坐地铁等,该怎么改进程序呢?
多态实现的流程:
1-定义一个父类,在父类中定义需要执行的业务方法,具体方法的逻辑不用实现,直接pass,由继承的子类实现
2-定义多个功能的子类继承父类,在子类中对父类方法重写,实现自己子类的逻辑
3-封装一个统一的函数处理方法,让开发人员调用该方法
# 多态
class Teacher:
def __init__(self,name):
self.name