码迷,mamicode.com
首页 > 编程语言 > 详细

python 之简单浅谈新式类和旧式类(或称经典类)

时间:2016-11-19 03:49:33      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:python

#_*_coding:utf-8 _*_
#知识点:经典类和新式类的区别

#父类
class Father(object):
    def __init__(self):
        self.Fname = ‘fffffff‘
        print ‘father.__init__‘
    def Func(self):
        print ‘funcfurnc‘
    def Bar(self):
        print ‘barbarbar‘
    def Test(self): #再定义一个方法
        print ‘11111‘
        print ‘testtest‘

#子类继承父类,也就是说Son类可以拿到Father类的方法
class Son(Father):
    def __init__(self):
        self.Sname = ‘sonsonson‘
        print ‘son.__init__‘
        Father.__init__(self) #调用父类的构造函数,这是第一种形式,这种方式可以不用继承object
        super(Son, self).__init__() #调用父类的构造函数,这是第二种形式,必须继承object

    def Yes(self):
        print ‘barbarbar‘
    def Test(self):
        print ‘aaaaaaaa‘    #重写父类的Test方法

#实例化子类,尝试访问在父类的方法
s1 = Son() #实例化子类
s1.Bar()    #成功访问父类的方法
s1.Test()   #访问重写后的方法

‘‘‘
其他说明:
如果继承了object 那么就是新式类, 推荐使用新式类
如果没有继承object 那么就是经典类

区别:
经典类,在多继承时采用深度优先遍历父类
新式类,在多继承时采用一种新的C3算法来遍历父类
‘‘‘


本文出自 “FA&IT运维-Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1874428

python 之简单浅谈新式类和旧式类(或称经典类)

标签:python

原文地址:http://freshair.blog.51cto.com/8272891/1874428

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!