Python单继承,子类调用父类方法,使用super关键字


但是这么写话还是并不符合我们平时写代码的规范,一般都是用super来调用,贴代码:

python 复制代码
# 面向对象的3大特征:继承性,封装性,多态性
class Human():
  sum1 = 0
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def get_name(self):
    print(self.name)  

  def do_homework(self):
    print('parent\'s function')   


class Student(Human):   
  def __init__(self, school, name, age):
    # Human.__init__(self, name, age)
    # 由于开闭原则不建议这么调用,所以改成用super调用
    super(Student, self).__init__(name, age)

  def do_homework(self):
    super(Student, self).do_homework() # 当子类和父类有相同方法名的方法时,只会调子类的方法,可以通过super 手动调父类的方法
    print('print English homework')  


student1 = Student('湖南大学', '石敢当', 18)


student1.get_name()
student1.do_homework()
相关推荐
笨拙的老猴子1 分钟前
[特殊字符] Java GC机制详解:G1、ZGC、Shenandoah全面解析与版本演进对比
java·开发语言
bellus-3 分钟前
ubuntu26测试win10的ollama大模型性能
python
水木流年追梦4 分钟前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
JavaWeb学起来4 分钟前
Python学习教程(六)数据结构List(列表)
数据结构·python·python基础·python教程
liuyunshengsir17 分钟前
PyTorch 动态量化(Dynamic Quantization)
人工智能·pytorch·python
电子云与长程纠缠26 分钟前
UE5制作六边形包裹球体效果
开发语言·python·ue5
砍材农夫32 分钟前
物联网 基于netty构建mqtt协议规范(遗嘱与保留消息)
java·开发语言·物联网·netty
DFT计算杂谈35 分钟前
KPROJ编译教程
java·前端·python·算法·conda
froginwe111 小时前
Python3 迭代器与生成器
开发语言
xiaoshuaishuai81 小时前
C# 签名异常与Gas预估失败调试方案
开发语言·网络·tcp/ip·c#