1. 不带参数的多重继承
class A(object):
def show_x(self):
print('A')
class B(object):
def show_y(self):
print('B')
class C(object):
def show_z(self):
print('C')
class D(A, B, C):
pass
if __name__ == '__main__':
d = D()
d.show_x()
d.show_y()
d.show_z()
2. 带参数的多重继承
class A(object):
def __init__(self, x=0):
self._x = x
def show_x(self):
print(self._x)
def show_name(self):
print('A')
class B(object):
def __init__(self, y=0):
self._y = y
def show_y(self):
print(self._y)
def show_name(self):
print('B')
class C(object):
def __init__(self, z=0):
self._z = z
def show_z(self):
print(self._z)
def show_name(self):
print('C')
class D(A, B, C):
def __init__(self, x=0, y=0, z=0):
C.__init__(self, z)
B.__init__(self, y)
A.__init__(self, x)
class E(A, B, C):
def __init__(self, x=0, y=0, z=0):
super(E, self).__init__(x)
super(A, self).__init__(y)
super(B, self).__init__(z)
if __name__ == '__main__':
d = D(1,2,3)
d.show_x()
d.show_y()
d.show_z()
d.show_name()
e = E(1,2,3)
e.show_x()
e.show_y()
e.show_z()
e.show_name()