本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/26828
python 多态与super
多态的概念
- 多态:Polymorphism
- 同名方法呈现多种行为
多态的表现
+
号
- 加法:数字 + 数字
- 拼接:字符串 + 字符串
- 合并:列表 + 列表
len()
函数
- 可以接收字符串
- 可以接收列表
方法的多态表现
- 同名变量调用同名方法呈现的多种行为
多态与继承
-
方法重写 Override:子类的方法名称与父类的相同
-
重写构造方法
super().init()
父类名.init(self)
class Human:# 构造方法def __init__(self, name, age):self.name = nameself.age = age# 实例方法def live(self):print('住在地球上')
class Stu(Human):# 重写构造方法,必须重名def __init__(self, name, age, school):# 访问父类的构造方法,# super().__init__(name, age)# super(Stu,self).__init__(name,age)Human.__init__(self, name, age)self.school = school# 重写实例方法def live(self):print('出差去了')
# 实例化对象
ss = Stu("天堂Ⅱ", 18, "泉先")
print(ss.school) # 结果是: 泉先
print(ss.name) # 结果是: 天堂Ⅱ
# 访问重写的实例方法
print(ss.live()) # 结果是: 出差去了