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()
相关推荐
纪念 2298 分钟前
C++ 算法(模拟)
开发语言·c++·算法
niucloud-admin16 分钟前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:评价列表
开发语言·php
BD_Marathon16 分钟前
【Python】初识迭代器
python
Wang's Blog26 分钟前
Java 项目实战: 交友项目 - 项目:需求分析与滑动数据设计
java·开发语言·交友
gz927cool43 分钟前
Python 全栈应用最佳实践完整指南
开发语言·python·ai
智购科技智能售货柜1 小时前
顾客已经关门,视觉售货柜还在处理旧画面:延迟积压怎么查?~YH
python·单片机·嵌入式硬件·物联网·eclipse
CoderYanger1 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
梯度下降者1 小时前
Python从0到100(三):Python中的变量介绍
python·作用域·变量·数据类型·计算机常识
AIFQuant1 小时前
Python期货行情API接入:股指、黄金、原油多品种数据管道实战
开发语言·python·金融·区块链·量化开发
echome8881 小时前
JavaScript async/await 错误处理:别让 Promise 静默失败
开发语言·前端·javascript·promise