Pythonの基本 - クラス継承とMRO

継承:

    何が継承されています。

        継承関係は、どのような二つのオブジェクトの記述の間の関係は何ですか

        プログラムでは、クラスとクラス間の継承関係を記述する

        例えば、Bは、既存のメソッドとプロパティの中で直接使用することができ、Bを継承しました

        サブクラスと呼ばれ、Bは親クラスと呼ばれ、基本クラスまたはスーパークラスと呼ばれます

    なぜ使用の継承:

        継承は、当事者のいずれかによって直接使用することができ、コードの再利用性を高めるために、既存のコードを再利用するように設計されているいくつかのことを、継承しています

    継承を使用する方法:    

クラスのクラス名(親クラスの名前):
    クラスの内容
    
、Pythonでサブクラスは、同時に複数の親クラスを継承することができます

 

 

 

    要約:特定のない、漠然とした、不明瞭な、理解していない見て

        サブクラスの複数の同じ部分の処理、抽出、新しいクラスを形成し、また、抽象として知られているプロセス

    継承の適切な使用:

        1、最初の抽象的継承

        図2に示すように、本来の機能を拡張または変更し、達成されたクラスを継承

    属性の順序検索: - >クラスは - >親を見つける - オブジェクト自体を>オブジェクト

    

 

    派生:親クラスのサブクラスは異なるコンテンツに表示されたら、このサブクラスは、派生クラスとして知られ、サブクラスは、一般的に、いくつかの新しいコードを記述します、と親はまったく同じにすることはできません。だから、一般的に派生クラスを指し、サブクラスであります

    

 

    カバー:も知らオーバーライド

        サブカテゴリーは、親クラスのプロパティやメソッドの名前と完全に一致した場合に表示され

    

 

    サブクラスは親クラスのコンテンツにアクセスします。

。モード1:
スーパー(現在のクラス名、自己)あなたは親クラスのプロパティやメソッドを調整したい。マナー2:
スーパー()あなたは親クラスのプロパティやメソッドを調整したい 
実施例3:
あなたが親を転送したい名前。クラスのプロパティまたはメソッド(自己)   

#1 にかかわらず継承3の方法

 

    彼は強調:既存のクラスを継承し、あなたが先祖の__init__メソッドをオーバーライドするとき、あなたが最初の行にメソッドを初期化する必要があり、親クラスの初期化方法、必要に応じて、着信パラメータよりも親を呼び出し、 。

 

    コンビネーション:関係、二つのオブジェクトに記載されているものとの間の関係は何ですか

        対物組み合わせ:継承の組み合わせを大幅に低減結合と比較して

            コードの再利用性を向上させます

    

    継承を使用するときは:最後に2つのクラス間の関係の分析は、ありません:どのような関係とは何ですか

    二つのクラスの間には有意な関係が存在しない場合は、同じに属さない:の組み合わせを使用するとき

 

 

ダイヤモンド継承:Pythonは多重継承をサポートしています

    新しいクラス:任意のディスプレイまたは暗黙的なオブジェクトのクラスは、新しいクラスから継承されているが呼び出され、すべての新しいクラスでのpython3

    クラシック:のみpython2に表示されていないオブジェクトのサブクラス

 

    ダイヤモンドの継承がある場合:幅に共通の親クラスに直面した第1の深さは、

    クラシックは、深さ優先であります

            

        

 

おすすめ

転載: www.cnblogs.com/tulintao/p/11246663.html