#_*_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算法来遍历父类 ‘‘‘
时间: 2024-10-11 12:35:35