オブジェクト指向の再利用
再利用性は、オブジェクト指向技術がもたらすの偉大な潜在的な利点の一つです。よく使用されている場合、それは、私たちは、開発効率を向上させ、開発時間を大幅に節約に役立つだろう。その後、虐待を受けている場合しかし、それは維持が困難多くのコードを生成することがあります。
オブジェクト指向開発言語としては、Javaコードの再利用は、1つの、興味深い機能です。Javaコードの継承だけでなく、3つの特定のプロキシフォームの組み合わせを再利用します。この記事では、継承の多重化および多重化を焦点を当てます。
受け継ぎます
継承は、階層モデルクラスとクラスをリンクされています。これは、(親、親インタフェースと呼ばれる)別のクラスの機能を継承(サブクラス、サブインタフェースと呼ばれる)クラスを参照し、彼自身の新機能の能力を高めることができ、継承は、クラスまたはインタフェースを持つクラスですインターフェイスとの間の最も一般的な関係、継承はある関係です。
組み合わせ
全パーツの組み合わせであり、我々はすなわち、aが持っている関係を、関係を持っています。
長所と短所
関係の組み合わせ | 継承 |
---|---|
利点は:互いに比較的独立パッケージ、クラス、およびローカルクラス間の全体的な疎結合を破壊しません | 短所:破壊されたパッケージ間の密結合、子と親クラス、サブクラスは、独立のサブクラスの不足、親クラスの実装に依存します |
利点:スケーラビリティ | 短所:拡張をサポートしていますが、犠牲にしてシステムの構造の複雑さを増加させる傾向があります |
長所:動的な組み合わせをサポートします。実行時には、オブジェクト全体は部分のオブジェクトの種類を選択することができます | 短所:動的な継承をサポートしていません。実行時に、あなたは親クラスの別のサブクラスを選択することはできません |
新しいインタフェースを提供するために、クラス全体をパッケージ化することができ、部分的にカプセル化されたローカルクラスインターフェイスクラス:メリット | 短所:親クラスのサブクラスは、インターフェイスを変更することはできません |
短所:全クラスが自動的に同じクラスとローカルインターフェイスを取得することはできません | 長所:サブクラスは、自動的に親クラス・インターフェースを継承することができます |
短所:あなたは、オブジェクトのクラス全体を作成するとき、あなたはすべてのローカルクラスのオブジェクトを作成する必要があります | 長所:あなたは親クラスのオブジェクトを作成することなく、オブジェクトのサブクラスを作成する場合 |
どのように選択すること
私は多くの人が「多目的組み合わせ、少ない相続」「継承の組み合わせよりも優れています。」または、オブジェクト指向の多くの重要な原則があることを知っていると信じています。前の説明から、長所と短所の比較を見ることができる持っている、組み合わせは確かに継承よりも柔軟ですが、また、コードの保守により助長。
したがって、代わりに優先度継承の組み合わせを使用しての、同じ可能で推奨されています。
組み合わせは、単純に、より安全に、より柔軟かつ効率的であるため。