オブジェクト合成と継承について話します

リード:


;「代わりに、優先度継承の組み合わせを使用しての」「プログラミングのためのインタフェースには、むしろプログラミングよりも」:私たちのキャリアでは、私たちはしばしばダニエルが言った同僚を聞きます さて、今日は、継承と組み合わせて、オブジェクトについてお話します。

  1. 継承と組成とは何ですか
  2. 継承の利点と欠点
  3. 長所と短所の組み合わせ

継承と組成とは何ですか


我々は他のクラスは、クラスを定義するために使用実感できるように、クラスまたはサブクラスの継承は、(サブクラスの実装を定義するためにスーパークラスを使用して)。サブクラスに一般的に見える内部スーパーの詳細を説明したように、サブクラスは、多くの場合、ホワイトボックス多重化(ホワイトボックス再利用)と呼ばれます。
良好な界面結合を有する必要なオブジェクト、および幸運定義された状態の動作に起因する他のオブジェクトへの参照によってオブジェクト組成物。したがって、オブジェクトは、より複雑な機能を構築するために、他のオブジェクトに結合されてもよいです。内部オブジェクトの詳細は、「ブラックボックス」として表示される他のオブジェクトには見えないので、多重化のこのタイプは、ブラックボックス多重化(ブラックボックスの再利用)と呼ばれます。
これは、我々は、多くの場合、ブラックボックスとホワイトボックス再利用、再利用することを言うことです。

継承の利点と欠点


:そして、それの利点と欠点のいくつかは何継承されたクラスまたはサブクラスを使用する
利点:
1を、クラス継承brutalizationシンプルで直感的な関係は静的にコンパイル時に定義されました。
2、簡単な修正の多重化を達成するために、サブが実装超をカバーすることができます。
短所:1は、実行時にスーパー実装(必ずしも欠点)を継承するように変更することができない
部分的な実装は、通常、スーパーで定義されているサブ、2。
3、スーパー実装の詳細に直接サブ、従って閉鎖損なう大きなカラム  オブジェクト合成と継承トーキングインストールされ。
その実装は、一緒に結合するので、図4に示すように、任意の変更は、変更することもスーパーサブクラスを強制的に実施されます。
図5は、新しいシーンでの問題を継承するために実装されている場合時代遅れであるかは適用されません、スーパー継承されたか、達成を書き換える必要があります。
そのため、クラス階層、実装に依存関係のため、サブクラスが多重化されている問題がある可能性があります。プロトコルまたは抽象基本クラスからソリューション、唯一の相続(サブタイプ)があり、国は、彼らはまれにしか達成していないということですが、合意は実現しませんでした。

長所と短所の組み合わせ


複数のオブジェクトを使用してオブジェクトのLETの組み合わせは、各オブジェクトが想定されている他のオブジェクトへのインタフェースの正常動作。したがって、システムの正常動作のために、そのインターフェイスを注意深く設計する必要があります。今、私は彼が利点と欠点であると言うだろう
利点:1、唯一のインターフェイスを介してオブジェクトにアクセスするために、パッケージを破壊しない;
2、本当の顔がインターフェイスで定義されているため、実現するための依存を減らすこと;
3、あなたが実行することができます任意のオブジェクトは、同じタイプの他のオブジェクトと交換した場合、
4、単一のタスクに集中するラッパークラスを維持することができます;
5、および彼のクラス階層が過度に膨らまないし、管理することができない、シンプルに保つことができ;
欠点:1、関係しますオブジェクトとより;
2、システムの挙動はなく、1つのクラスを定義するよりも、異なるオブジェクト間の関係に依存します;
3、既製のコンポーネントは常に十分ではありません、私たちは常に新しいオブジェクトを定義させます。

結論:


これらの欠点にもかかわらず、対象組成物は、依然としてシステム設計に多くの利点を持っています。私たちは、クラスの継承といくつかのセクションでは、それが簡単に新しいコンポーネントが既存のコンポーネントを利用するに作成でき、これらの欠点を克服することができます。もちろん、このクラスで継承するか、クラスとそれを継承

おすすめ

転載: www.cnblogs.com/sanxiandoupi/p/11711002.html