子类重用父类的功能super
# 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的更多相关文章
- python3 面向对象、类、继承、组合、派生、接口、子类重用父类方法
对象是特征(变量)与技能(函数)的结合体而类是一系列对象共同的特征与技能的集合体 class teacher: lesson = "python" def __init__(sel ...
- Day7 子类调用父类的方法supper 绑定方法与非绑定方法
supper:可以利用supper来重用父类的方法,可以不用指名道姓的调用了. class OldboyPeople: school = 'oldboy' def __init__(self,name ...
- [面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序、菱形问题、继承原理、Mixins机制),组合]
[面向对象之继承应用(在子类派生重用父类功能(super),继承实现原理(继承顺序.菱形问题.继承原理.Mixins机制),组合] 继承应用 类与类之间的继承指的是什么'是'什么的关系(比如人类,猪类 ...
- Python之面向对象的组合、多态、菱形问题、子类中重用父类的两种方式
一.组合 ''' 1.什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象 2.为何用组合 组合也是用来解决类与类直接代码冗余问题的 3.如何用组合 ''' # 继承减少代 ...
- 在子类中调用父类的方法super
1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类 Country=" ...
- Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性
一.接口与归一化设计 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 由 ...
- [Effective JavaScript 笔记]第39条:不要重用父类的属性名
假设想给上节讲的场景图库添加收集诊断信息的功能.这对于调试和性能分析很有用. 38条示例续 给每个Actor实例一个唯一的标识数. 添加标识数 function Actor(scene,x,y){ t ...
- Python开发基础-Day20继承实现原理、子类调用父类的方法、封装
继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...
- python基础之继承实现原理、子类调用父类的方法、封装
继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...
随机推荐
- 3、maven导入外部自定义jar包
有些时候我们自己有一些jar包需要导入到我们的仓库中,然后在maven项目里的pom.xml文件加入这些jar包的依赖即可使用这些jar包了 1.确保行执行mvn -v没有问题 2.把需要引入的jar ...
- Spring MVC静态资源处理——<mvc:resources /> ||<mvc:default-servlet-handler />
优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...
- RandomAccessFile 文件读写中文乱码解决方案!
RandomAccessFile 读写文件时,不管文件中保存的数据编码格式是什么 使用 RandomAccessFile对象方法的 readLine() 都会将编码格式转换成 ISO-8859-1 ...
- Linux下安装redis-4.0.10
1.下载redis-4.0.10 在redis官网(https://redis.io/download)下载redis-4.0.10 2.将安装包上传至Linux服务器 在Linux服务器根目录下创建 ...
- pg和mysql对比
作者:方圆链接:https://www.zhihu.com/question/20010554/answer/15863274来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...
- 请求转发、包含、重定向 getAttribute 和 setAttribute POST和GET编码
一.请求转发 请求包含 请求重定向 Demo5.java 注意:doPost()方法中别忘写doGet(request, response); public void doGet(HttpS ...
- 【Qt开发】几个傻不拉几关于char*和const char*的不兼容问题
1. string转const char* string s ="abc";constchar* c_s = s.c_str(); 2. const char*转string ...
- IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa
inet_pton NAME inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h> in ...
- Canvas入门04-绘制矩形
使用的API: ctx.strokeRect(x, y, width, height) 给一个矩形描边 ctx.fillRect(x, y, width, height) 填充一个矩形 ctx.cle ...
- Scrapy输出文件格式问题汇总
Q:Scrapy抓取的内容(包含中文)输出到JSON Lines文件时如何确保输出的是字符本身而不是其unicode编码? A:默认的JsonLinesItemExporter其ensure_asci ...