经典类:
#!/usr/bin/env python
#*-* coding:utf-8 *-*
class A():
def __init__(self):
print 'my name is GF' def test(self):
print 'this is ====A====='
class B(A):
def __init__(self):
print 'my name is BFather'
class C(A):
def __init__(self):
print 'my name is Cfather' def test(self):
print 'this is ======C======'
class D(B,C):
def __init__(self):
print 'my name is D'
t1 =D()
t1.test()
执行效果:
my name is D
this is ======A======
#继承关系,先找B,如果B没有则找A.(深度优先)

  

 
新生类:

#!/usr/bin/env python
#*-* coding:utf-8 *-*
class A(object):
def __init__(self):
print 'my name is GF' def test(self):
print 'this is ====A====='
class B(A):
def __init__(self):
print 'my name is BFather'
class C(A):
def __init__(self):
print 'my name is Cfather' def test(self):
print 'this is ======C======'
class D(B,C):
def __init__(self):
print 'my name is D'
t1 =D()
t1.test() 执行结果
my name is D
this is ======C======
#继承关系,先找B,如果B没有则找C(广度优先) 当然,class D(B,C) 这里是先执行B,在执行C的。
 
小结:经典类深度优先,新生类广度优先。
class A(object):
def __init__(self):
print 'my name is GF' def test(self):
print 'this is ====A====='
class B(A):
def __init__(self):
print 'my name is BFather'
class C(A):
def __init__(self):
print 'my name is Cfather' def test(self):
print 'this is ======C======'
class D(B,C):
def __init__(self):
print 'my name is D'
super(D,self).__init__()
t1 =D()
t1.test() 这里执行父类的构造函数,可以使用super方法,这也是新生类的特点。
如果使用经典类的话,那么调用父类的构造函数或者是方法,只能使用父类.方法(self)的方法

  

小结:新生类是支持super方式调用父类的方法。

 
 
 

最新文章

  1. bzoj4305: 数列的GCD
  2. 使用Idhttp.get('') 造成假死(堵塞),请问线程idhttp怎么才能做到不出错?
  3. ubuntu下配置SVN服务器
  4. 2.html5的基本格式
  5. Transact-SQL
  6. java中接口的定义与实现
  7. C语言的static和extern关键字
  8. 深入学习PE文件(转)
  9. A*寻路算法lua实现
  10. Codeforces Round #216 (Div. 2) E. Valera and Queries (BIT)
  11. Intel 80x86 寻址模式
  12. Swift中文教程(三)--流程控制
  13. linux的学习系列 3---目录
  14. mysql Explain 性能分析关键字
  15. hdu1054最小顶点覆盖
  16. 网络基础三 ARP 地址分类 NAT技术
  17. 一个任务:(小甲鱼python视频第29讲) 代码整理与总结
  18. python全栈开发 * background 定位 z-index * 180813
  19. Flutter进阶—点击、拖动和其他手势
  20. whil

热门文章

  1. Dubbo源码学习--优雅停机原理及在SpringBoot中遇到的问题
  2. 安装flutter和dart总结
  3. Go http handler 中间件
  4. BEA-290074 <Deployment service servlet received file download request for file "security/SerializedSystemIni.dat". The file may exist, but download of this file is not allowed.>
  5. 【IT笔试面试题整理】有序数组生成最小高度二叉树
  6. Golang 函数function
  7. 项目复审——Alpha阶段
  8. FFmpeg进行视频帧提取&音频重采样-Process.waitFor()引发的阻塞超时
  9. Java设计模式学习记录-代理模式
  10. 浅析 JavaScript 链式调用