20180309-面向对象进阶
面向对象的基本知识就不多做介绍了,主要记录一下面向对象的注意事项
1.基类的构造方法
class A: def __init__(self): print('构造方法A') self.ty = '动物' class C(A): def __init__(self): print('构造方法B') # 调用父类 推荐使用此方法 super(C,self).__init__() # 另外一种调用父类的方法如下 此方法不推荐使用,因为在多继承时不好区分self指向的对象 # A.__init__(self) c = C() # 输出 # 构造方法B # 构造方法A
2.面向对象中self的含义,以及继承中易错的点
class A: def xx(self): print('A') class B: def xxx(self): print('B') self.f1() def f1(self): print('B -> f1') class C(A,B): def f1(self): print('C') c = C() c.xxx() # 输出 # B # C
注意:此时调用c.xxx()函数时,函数的查找顺序如下:C -> A -> B,而B中xxx()函数,内部调用self.f1()函数,此时的self为C的实例对象,所以调用C类中f1()函数


浙公网安备 33010602011771号