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()
相关推荐
光泽雨6 小时前
C# 中 Assembly 类详解
开发语言·c#
少控科技6 小时前
C#基础训练营 - 02 - 运算器
开发语言·c#
瞎某某Blinder7 小时前
DFT学习记录[4] 电子和空穴的有效质量计算全流程
python·学习
Riemann~~7 小时前
C语言嵌入式风格
c语言·开发语言
Liue612312317 小时前
基于YOLO11-C3k2-Faster-CGLU的路面落叶检测与识别系统实现
python
~央千澈~8 小时前
抖音弹幕游戏开发之第8集:pyautogui基础 - 模拟键盘操作·优雅草云桧·卓伊凡
网络·python·websocket·网络协议
占疏8 小时前
列表分成指定的份数
python
Gaosiy8 小时前
脑电python分析库MNE安装
python·脑机接口·脑电·mne
zmzb01038 小时前
C++课后习题训练记录Day104
开发语言·c++
zmzb01039 小时前
C++课后习题训练记录Day105
开发语言·c++·算法