(*****)のオブジェクト指向の補数

1.クラシック

  python2のバージョンでは•すべてのクラスはクラシックです  

2.新しいクラス

  すべてのクラスのバージョンのpython3で新しいクラス(継承されたすべての(オブジェクト)のクラスは、新しいクラスで)です

 

 

深度優先(古典的なカテゴリの両方に深さ優先)

 

クラスP1:
    デフのfoo(自己):
        印刷 'P1-foo' で
 
 
クラスP2:
    デフのfoo(自己):
        印刷 'P2-foo' で
 
    デフバー(自己):
        印刷「P2-バー」
 
 
クラスC1(P1、P2)。
    パス
 
 
クラスC2(P1、P2)。
    デフバー(自己):
        印刷「C2-バー」
 
 
クラスD(C1、C2)。
    パス
 
 
D = D()
d.foo()#出力P1-fooの
d.bar()

  d.foo()承継の順序(D - > C1-> P1)

  d.bar()承継の順序(D-> C1 - > P1-> P2)

 

 

幅優先(新しいクラスの最初の幅がでます)

クラスP1(オブジェクト):
     デフFOO(自己):
         印刷 ' P1-FOO '
 
 
クラスP2(オブジェクト):
     デフFOO(自己):
         印刷 ' P2-FOO '
 
    デフバー(自己):
         プリント P2-バー
 
 
クラスC1(P1、P2):
     合格
 
 
クラスC2(P1、P2):
     DEF バー(自己):
         印刷 ' C2-バー'
 
 
クラスD(C1、C2)。


D = D()
d.foo()  出力FOO-P1の 
d.bar()  出力バー-C2 



連続のd.foo()順序:C1 - "C2 - " PL
連続のd.bar()順序:C1 - 「C2

おすすめ

転載: www.cnblogs.com/wm0217/p/11767358.html