python 的继承分为两种,第一种是单继承,第二种是多继承。继承的理论巴拉巴拉一堆一堆的。
1.单继承就是只继承一个类,可以继承上一类的方法:
class A():
def go(self):
print ("go A go!")
def stop(self):
print ("stop A stop!")
def pause(self):
raise Exception("Not Implemented")
class B(A):
def __init__(self):
pass
b=B()
b.go()
运行结果B继承了A类的方法:
2.python多态继承,就是一个类,可以同时继承其他两个类的信息:
class A():
def go(self):
print ("go A go!")
def stop(self):
print ("stop A stop!")
def pause(self):
raise Exception("Not Implemented")
class B(A):
def go(self):
super(B, self).go()
print ("go B go!")
class C(A):
def go(self):
super(C, self).go()
print ("go C go!")
def stop(self):
super(C, self).stop()
print ("stop C stop!")
class D(C,B):#先继承B,再继承C
def go(self):
super(D, self).go()
print ("go D go!")
def stop(self):
super(D, self).stop()
print ("stop D stop!")
def pause(self):
print ("wait D wait!")
class E(B,C):
pass
a = A()
b = B()
c = C()
d = D()
e = E()
# 说明下列代码的输出结果
a.go()
print('-----0---')
b.go()
print('------1--')
c.go()
print('----d----')
d.go()
print('-----3---')
e.go()
print('-----4---')
a.stop()
print('------5--')
b.stop()
print('-------6-')
c.stop()
print('----7----')
d.stop()
print('----8----')
e.stop()
print(D.mro())
a.pause()
b.pause()
c.pause()
d.pause()
e.pause()