本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/26828
python 多态与super
多态的概念
- 多态:Polymorphism
- 同名方法呈现多种行为
多态的表现
+
号
- 加法:数字 + 数字
- 拼接:字符串 + 字符串
- 合并:列表 + 列表
len()
函数
- 可以接收字符串
- 可以接收列表
方法的多态表现
- 同名变量调用同名方法呈现的多种行为
多态与继承
-
方法重写 Override:子类的方法名称与父类的相同
-
重写构造方法
super().init()
父类名.init(self)
class Human:
# 构造方法
def __init__(self, name, age):
self.name = name
self.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()) # 结果是: 出差去了