Python面向对象的继承

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扫描版+随书视频+代码]

Python脚本获取Linux系统信息

Ubuntu下用Python搭建桌面算法交易研究环境

Python 语言的发展简史

Python 的详细介绍请点这里
Python 的下载地址请点这里 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/33acbe9c88d6d34878badda896770791.html