python多态与super

python多态与super

目录

  • 多态的概念
  • 多态的表现
  • 多态与继承

多态的概念

  • 多态(Polymorphism)
  • 同名方法呈现多种行为

运算符的多态表现

  • +号
  • 加法:数字+数字
  • 拼接:字符串+字符串
  • 合并:列表+列表

函数的多态表现

  • len()函数
  • 可以接收字符串
  • 可以接收列表

方法的多态表现

- 同名变量调用同名方法呈现多种行为

class China:
    def speak(self):
        print("汉语")
class Usa:
    def speak(self):
        print("English")
#实例化对象
cn = China()
us = Usa()
#遍历
for x in (cn,us):
    x.speak()

输出结果
汉语
English

多态与继承

- 方法重写(Override):子类的方法名称与父类的相同
- 重写构造方法
- super().__init__()
-父类名.__init__(self)

class Human:
    massage = "这是类的属性"
    #构造方法
    def __init__(self,name,age):
        self.name = name
        self.age = age
    #实例化方法
    def live(self):
        print("住在地球上")

class Student(Human):
    # 重写父类构造方法
    def __init__(self,name,age,school):
        #访问父类构造方法
        # super().__init__(name,age) #super().__init__()重写父类构造方法
        # super(Student,self).__init__(name,age)
        Human.__init__(self,name,age) #父类名.__init__(self)重写父类构造方法
        self.school = school
    # 重写父类实例方法
    def live(self):
        print(f"住在{self.school}")

#实例化子类对象
stu = Student("哈哈",18,"jianqiao")
print(stu.name)

#访问重写的实例方法
stu.live()

输出结果
哈哈
住在jianqiao

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值