当子类重写重写构造函数时 需要调用父类构造函数
如果没有重写子类的构造函数,是可以直接使用父类的属性和方法的。
方法一
class A(object):
def __init__(self):
self.nameaa = 'aa'
def funca(self):
print('function a %s' % self.nameaa)
class B(A):
def __init__(self):
self.namebb = 'bb'
A.__init__(self)
def funcb(self):
print('function b %s' % self.namebb)
b = B()
print(b.namebb)
b.funcb()
print(b.nameaa)
b.funca()
方法二
class A(object):
def __init__(self):
self.nameaa = 'aa'
def funca(self):
print('function a %s' % self.nameaa)
class B(A):
def __init__(self):
self.namebb = 'bb'
# 传两个参数 子类,self
super(B,self).__init__()
def funcb(self):
print('function b %s' % self.namebb)
b = B()
print(b.namebb)
b.funcb()
print(b.nameaa)
b.funca()