# class OldboyPeople:
# school = 'oldboy'
# def __init__(self,name,age,gender):
# self.name=name
# self.age=age
# self.gender=gender
# def tell_info(self):
# print('<名字:<%s> 年龄:<%s> 性别:<%s>' %(self.name,self.age,self.gender))
#
# class OldStudent(OldboyPeople):
# def __init__(self,name,age,gender,course):
# # OldboyPeople.__init__(self,name,age,gender)
# super().__init__(name,age,gender)
# self.course=course
# def learn(self):
# print('%s is learning'%self.name)
# def tell_info(self):
# print('我是学生:',end='')
# OldboyPeople.tell_info(self)
#
# stu1=OldStudent('婉婷',18,'female','python')
# stu1.tell_info()
'''
我是学生:<名字:<婉婷> 年龄:<18> 性别:<female>
'''
# print(stu1.name,stu1.age,stu1.gender,stu1.course)
'''
婉婷 18 female python
'''
# class OldboyPeople:
# school = 'oldboy'
# def __init__(self,name,age,gender):
# self.name=name
# self.age=age
# self.gender=gender
# def tell_info(self):
# print('<名字:<%s> 年龄:<%s> 性别:<%s>' %(self.name,self.age,self.gender))
#
# class OldStudent(OldboyPeople):
# def __init__(self,name,age,gender,course):
# super().__init__(name,age,gender)
# self.course=course
# def learn(self):
# print('%s is learning'%self.name)
# def tell_info(self):
# print('我是学生:',end='')
# super().tell_info()
# stu1=OldStudent('婉婷',18,'female','python')
# stu1.tell_info()
'''
我是学生:<名字:<婉婷> 年龄:<18> 性别:<female>
'''
# class Foo:
# def f1(self):
# print('Foo.f1')
# super().f2()
# class Bar:
# def f2(self):
# print('Bar.f2')
# class Sub(Foo,Bar):
# pass
# s=Sub()
# print(Sub.mro())
'''
[<class '__main__.Sub'>,
<class '__main__.Foo'>,
<class '__main__.Bar'>,
<class 'object'>]
'''
# s.f1()
'''
Foo.f1
Bar.f2
'''
# class Foo:
# def f2(self):
# print('==>')
# def f1(self):
# print('Foo.f1')
# super().f2() # 只要写super就是从当前类的下一个开始调
# class Bar:
# def f2(self):
# print('Bar.f2')
# class Sub(Foo,Bar):
# pass
# s=Sub()
# s.f1()
'''
Foo.f1
Bar.f2
'''
# class Foo:
# def f2(self):
# print('==>')
# def f1(self):
# print('Foo.f1')
# Foo.f2(123)
# class Bar:
# def f2(self):
# print('Bar.f2')
# class Sub(Foo,Bar):
# pass
# s=Sub()
# s.f1()
'''
Foo.f1
==>
'''

子类重用父类的功能super的更多相关文章

  1. python3 面向对象、类、继承、组合、派生、接口、子类重用父类方法

    对象是特征(变量)与技能(函数)的结合体而类是一系列对象共同的特征与技能的集合体 class teacher: lesson = "python" def __init__(sel ...

  2. Day7 子类调用父类的方法supper 绑定方法与非绑定方法

    supper:可以利用supper来重用父类的方法,可以不用指名道姓的调用了. class OldboyPeople: school = 'oldboy' def __init__(self,name ...

  3. [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序、菱形问题、继承原理、Mixins机制),组合]

    [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序.菱形问题.继承原理.Mixins机制),组合] 继承应用 类与类之间的继承指的是什么'是'什么的关系(比如人类,猪类 ...

  4. Python之面向对象的组合、多态、菱形问题、子类中重用父类的两种方式

    一.组合 ''' 1.什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象 2.为何用组合 组合也是用来解决类与类直接代码冗余问题的 3.如何用组合 ''' # 继承减少代 ...

  5. 在子类中调用父类的方法super

    1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类 Country=" ...

  6. Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性

    一.接口与归一化设计 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 由 ...

  7. [Effective JavaScript 笔记]第39条:不要重用父类的属性名

    假设想给上节讲的场景图库添加收集诊断信息的功能.这对于调试和性能分析很有用. 38条示例续 给每个Actor实例一个唯一的标识数. 添加标识数 function Actor(scene,x,y){ t ...

  8. Python开发基础-Day20继承实现原理、子类调用父类的方法、封装

    继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...

  9. python基础之继承实现原理、子类调用父类的方法、封装

    继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...

随机推荐

  1. 浏览器端-W3School:HTML DOM cells 集合

    ylbtech-浏览器端-W3School:HTML DOM cells 集合 1.返回顶部 1. HTML DOM cells 集合 HTML DOM Table 对象 定义和用法 cells 集合 ...

  2. 记一次 Vue 组件内存泄漏的坑

    概述 最近在开发 Vue 项目的时候遇到了内存泄漏问题,记录下来,供以后开发时参考,相信对其他人也有用. 背景 背景是需要用 three.min.js 和 vanta.net.min.js 给首页加上 ...

  3. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_4 Mybatis中使用Dao实现类的执行过程分析-查询方法

    delete方法没有并SqlSession的delete方法,而是调用的Upadte方法. 在测试类这里加断点. 实际的方法体内也加断点 运行测试方法,选择debug的方式 走到断点这里.会看到fac ...

  4. Jedis源码浅析

    1.概述 Jedis是redis官网推荐的redis java client,代码维护在github https://github.com/xetorthio/jedis. 本质上Jedis帮我们封装 ...

  5. win10 iis部署后 浏览目录报错 500.19

    错误摘要HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效.详细错误信息模块 IIS Web Core  通知 BeginReq ...

  6. LeetCode算法题-Flipping an Image(Java实现)

    这是悦乐书的第324次更新,第347篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第194题(顺位题号是832).给定二进制矩阵A,我们想要水平翻转图像,然后反转它,并返 ...

  7. Chapter02 第二节 语句和变量

    2.2 C++语句 2.11 声明语句和变量 示例程序: // carrots.cpp #include <bits/stdc++.h> using namespace std; int ...

  8. java 内部编译异常的处理方法

    1.可能存在的问题. 在cmd 输入 java -version  和javac -version 检验java的环境是否正常,不正常就卸载重装. 搞定!

  9. ActiveMQ学习教程/1.简要介绍与安装

    ActiveMQ学习教程(一)——简要介绍与安装 一.名词: 1.JMS:即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的 ...

  10. ascx

    aspx是页面文件ascx是用户控件,用户控件必须嵌入到aspx中才能使用. ascx是用户控件,相当于模板 其实ascx你可以理解为Html里的一部分代码,只是嵌到aspx里而已,因为aspx内容多 ...