Python面向对象的继承,继承主要就是继承父类的一些方法,代码中很详细
#!/usr/bin/env python
#coding:utf-8
class Father(object):#新式类
def __init__(self):
self.name='Liu'
self.FamilyName='Yan'
def Lee(self):
print '我是父类函数Lee'
def Allen(self):
print "我是父类函数Allen"
class Son(Father):
def __init__(self):
#Father.__init__(self) #经典类执行父类构造函数
super(Son,self).__init__() #新式类执行父类构造函数
self.name='Feng'
def Aswill(self): #子类新增函数
print 'Son.Bar'
def Lee(self):#重写父类函数Lee
print '子类重写了父类函数Lee'
s1=Son()
print "继承了父类的姓"+ s1.FamilyName
print "重写了父类的名字",s1.name
s1.Lee() #子类重写了父类函数Lee
s1.Allen() #子类继承了父类函数Allen
继承多个类时的顺序,经典类继承是深度优先,是一个BUG, 新式类是广度优先,应该是用新式类去定义类
新式类
class A(object): #新式类的写法
def __init__(self):
print 'This is from A'
def test(self):
print 'This is test from A'
class B(A):
def __init__(self):
print "This is from B"
class C(A):
def __init__(self):
print "This is from C"
def test(self):
print "This is test from C"
class D(B,C):
def __init__(self):
print 'this is D'
T1=D()
T1.test()
经典类
class A:
def __init__(self):
print 'This is from A'
def test(self):
print 'This is test from A'
class B(A):
def __init__(self):
print "This is from B"
class C(A):
def __init__(self):
print "This is from C"
def test(self):
print "This is test from C"
class D(B,C):
def __init__(self):
print 'this is D'
T1=D()
T1.test()
--------------------------------------分割线 --------------------------------------
CentOS上源码安装Python3.4
《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]
在Ubuntu下用Python搭建桌面算法交易研究环境