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()) # 结果是: 出差去了