单继承:
一.父类-子类/基类-派生类
class F1(): def show(self): print("f1") def foo(self): print(self.name) class F2(F1): def __init__(self,name): self.name = name print(name) def bar(self): print("bar") def show(self): print("f2") class F3(F2): pass obj = F2("jiangll") obj.show() obj.foo()
二.若基类和派生类存在同名函数,以当前对象中的函数优先执行
class S1: def F1(self): self.F2() def F2(self): print("S1") class S2(S1): def F3(self): self.F1() def F2(self): print("S2") obj = S2() obj.F3() obj1 = S1() obj1.F1()结果:S2 S1多继承:
一.所继承的父类没有共同的父类时,执行顺序如下图:
二.所继承的父类有共同的父类时,执行顺序如下图:
class C_2: def f2(self): print("C_2") class C_1(C_2):pass
class C0(C_2):pass
class C1(C0): passclass C2(C_1): def f2(self): print("C2")class C3(C1,C2): def f3(self): passobj = C3()# 按照继承顺序执行,即执行C2的f2obj.f2()三.多继承案例分析
四.选课系统: