1 #经典类与新式类的继承顺序
 2
 3 class Teacher(object):
 4     cn='Harvard'
 5     def __init__(self,name,age,sex):
 6         self.name=name
 7         self.age=age
 8         self.sex=sex
 9         self.__money=5600
10
11     def show_private_attribule(self):
12         print('private attribute:%s' %self.__money)
13
14 class Master(Teacher):
15     def __init__(self,name,age,sex,subject):
16         Teacher.__init__(self,name,age,sex)#重构父类的构造函数,继承多个就多写一个
17         #super(Master,self).__init__(name,age,sex) #通用写法,继承多个父类都可以用这一个
18                                                 #继承多个类,只运行第一个类的构造函数,其它的不运行
19                                                 #没有,横向逐个找,向上找(查找策略:广度优先 )(新式类)
20                                                 #python2.x是深度优先 (经典类)
21         self.subject=subject
22         print('in the Master')
23
24     def speak(self):
25         print('I am master %s I study %s subject' %(self.name,self.subject))
26
27 class Doctor(Teacher):
28     def __init__(self,name,age,sex,allowance):
29         Teacher.__init__(self, name, age, sex)
30         #super(Doctor,self).__init__(name,age,sex)
31         self.allowance=allowance
32         print('in the Doctor')
33
34     def ralation(self,obj):
35         print('%s is %s \'s student' %(obj.name,self.name))
36
37 class Specialist(Master,Doctor):
38     def __init__(self,name,age,sex,subject,allowance,research_field):#先查找Master构造执行,没有向Doctor查找,再没有向上Teacher查找
39         Master.__init__(self,name,age,sex,subject)
40         Doctor.__init__(self,name,age,sex,allowance)
41         self.research_field=research_field
42         print('in the Specialist')
43
44 t1=Teacher('Jack',26,'M')
45 m1=Master('Alice',22,'F','French')
46 d1=Doctor('Monica',28,'F',6600)
47 s1=Specialist('Jones',32,'F','French',6600,'language')

转载于:https://www.cnblogs.com/zhong2018/p/9004686.html

经典类与新式类的继承顺序相关推荐

  1. Python经典类与新式类已经经典继承和新式继承;以及继承顺序

    经典类和新式类,以及经典继承和新式继承 # class Animal: #经典类 class Animal(object): #新式类def __init__(self,name):self.name ...

  2. python 经典类和新式类

    DAY 12. python新式类和旧式类 继承自object基类的类叫做新式类,否则叫做旧式类,python3中的类默认是新式类,之前版本默认是旧式类 root@kail:~# python pyt ...

  3. 多继承、经典类与新式类、新式类的C3算法详解

    多继承Python2版本class A(object) ---> 新式类class B ---> 经典类 Python3版本默认都是新式类 经典类和新式类的不同在于多继承时继承的顺序不同经 ...

  4. Python的面向对象,魔术方法、类的三大特征、自省、实例空间、经典类与新式类

    目录 1.什么是面向对象 1.1 面向过程 1.2 面向对象 1.3 面向对象的优点 2.类 2.1 什么是类.对象,方法和属性 2.2 类的定义和使用 2.2.1 类名规范和类的写法 2.3 魔术方 ...

  5. Python中经典类和新式类的区别

    首先了解一下什么是经典类,什么是新式类 class Person: #经典类pass class Person2(object): #新式类pass #类名首字母都大写 #在python3里面经典类和 ...

  6. python经典类新式类_Python新式类与经典类(旧式类)的区别

    看写poc的时候看到的,思考了半天,现在解决了 转载自http://blog.csdn.net/zimou5581/article/details/53053775 Python中类分两种:旧式类和新 ...

  7. python 新式类 旧式类_Python新式类与经典类(旧式类)的区别

    Python中类分两种:旧式类和新式类: ➤新式类都从object继承,经典类不需要. ➤新式类的MRO(method resolution order 基类搜索顺序)算法采用C3算法广度优先搜索,而 ...

  8. python 经典类与新式类

    经典类和新式类的主要区别就是类的继承的方式 ,经典类遵循深度优先的规则,新式类遵循广度优先的规则.至于什么是深度优先什么是广度优先,可以看如下示例: class A(object):def print ...

  9. 继承,经典类与新式类的MRO,C3算法,super

    #继承 class JiaoFu:def qd(self):print("教父带你祈祷") class Fu:def msj(self):print("alex喜欢msj ...

最新文章

  1. Eclipse,Mycclipse自动补全快捷键设置
  2. 牛!开创交互式电脑绘图先河,虚拟现实之父传奇
  3. Lua1.0 代码分析 库
  4. 使用 Windows PowerShell 实现 Web UI 自动化
  5. git 与团队协同开发,避免冲掉别人代码的方法
  6. 理解ASP.NET Core中的中间件
  7. PAT:1050. String Subtraction (20) AC
  8. java自动生成函数注释_IDEA类和方法注释自动生成(2019-08-31 21:47写)
  9. element el-autocomplete组件 自定义传参的解决方法
  10. 620集成显卡和mx250,轻薄本的新独显!MX250现身英伟达官网,核显3.5倍性能
  11. Nrf51xxx Bluetooth Related
  12. vscode替换全局搜索快捷键
  13. liunx 全盘查找_Linux中查找文件夹的命令
  14. 论文阅读 - On the efficacy of old features for the detection of new bots - CCF B
  15. WPM3012-3/TR单P沟道 增强型MOS 场效应晶体管WILLSEM
  16. java word文档生成目录_Java使用POI添加Word文档的目录(Table of contents)
  17. 世界上最快的浏览器(mxnitro浏览器)
  18. 学生HTML个人网页作业作品(游戏网站全套源码)
  19. MS Project 2010视频教程总结
  20. 优必选发布4999元便携机器人“悟空”,开放ROSA机器人系统

热门文章

  1. 计算机视觉-计算机视觉开源库OpenCV基础
  2. strcpy函数实现的几种方式
  3. 关于浏览器和浏览器内核的解释
  4. 暗黑再临Java正版_暗黑破坏神之墨菲斯托
  5. oracle ogg双向通步,使用ogg的Oracle-Oracle的双向复制
  6. 黑苹果睡眠无法唤醒_电脑睡眠后无法唤醒怎么办?
  7. 001_html简介
  8. linux内核 漏洞扫描,Linux kernel中存在15年的漏洞
  9. ListView和RecyclerView的Adapter封装
  10. 密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析