使用super实现类的继承
查看一个类继承了哪些类可以用__bases__方法查看
class People:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def foo(self):
print('from parent')
class Teacher(People):
def __init__(self,name,age,sex,salary,level):
People.__init__(self,name,age,sex) #指名道姓地调用People类的__init__函数
在python3中
super().__init__(name,age,sex) #调用父类的__init__的功能,实际上用的是绑定方法
在python2中
super(Teacher,self).__init__(name,age,sex)
self.salary=salary
self.level=level
def foo(self):
super().foo()
print('from child')
t=Teacher('egon',18,'male',3000,10)
print(t.name,t.age,t.sex,t.salary,t.level)
t.foo()
指名道姓的调用方式有如下应用场景:
class Alive:
def __init__(self,name,age):
print('Alive--------------->')
self.name=name
self.age=age
class People:
def __init__(self,sex):
print('People--------------->')
self.sex=sex
class Teacher(People,Alive):
def __init__(self,name,age,sex,salary,level):
Alive.__init__(self,name,age)
People.__init__(self,sex)
self.level=level
self.salary=salary
def foo(self):
print('-----》')
t=Teacher('egon',18,'male',300,10)
# print(t.name,t.age,t.sex,t.salary,t.level)
t.foo()
最新文章
- DWT小波变换及其在时间序列数据预测中的应用
- Unity 3D制作2D游戏的几种方法
- MySQL Error Handling in Stored Procedures
- Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分
- LEETCODE —— binary tree [Same Tree] &;&; [Maximum Depth of Binary Tree]
- win7硬盘安装ubuntu双系统——注意项
- 一段高质量的SQL从问问题开始(笔记)
- httpServer V1
- [经典] 最X(长 | 大和 | 大积)Y(子序列 | 子字符串)
- echarts演示笔记
- IOS 页面之间的传值(主讲delegate)
- 【iOS】7.4 定位服务->;2.1.3.3 定位 - 官方框架CoreLocation 功能3:区域监听
- StringBuffer类的使用
- configparser模块(拷贝)
- [Python Study Notes]Socket模拟ssh执行cmd并记录遇到的问题
- Git 在 windows 上面的安装
- 初识thinkphp(3)
- 使用canvas绘制饼状图
- go语言 defer 高级
- 控件activeX开发之项目ffmpeg解码h264——总结