ホームページ  >  記事  >  Java  >  Javaの集約と合成の違いは何ですか

Javaの集約と合成の違いは何ですか

青灯夜游
青灯夜游オリジナル
2018-12-15 14:17:278967ブラウズ

集約と結合の違いは次のとおりです。集約は、has-a 関係、つまり一方向の関係を表します。集約内の 2 つのクラス (またはエンティティ) は独立して存在でき、相互に影響しません。この組み合わせは、関係の一部を表します。組み合わせ内の 2 つのエンティティ (またはクラス) は相互に強く依存しており、相互に影響を与えます。

Javaの集約と合成の違いは何ですか

この記事では、Java における関連付け、集計、結合について紹介し、集計と結合の違いを理解していただけると幸いです。 [おすすめの関連ビデオチュートリアル: Java チュートリアル ]

Java の関連付けとは何ですか?

アソシエーションは、オブジェクト (またはインスタンス) を通じて 2 つの完全に独立したエンティティを接続できる 2 つの独立したクラス間の関係です。関連は、1 対 1、1 対多、多対 1、多対多など、任意のタイプにすることができます。

Java の集計とは何ですか?

集約は、has-a 関係を表す特別な形式の関連付けであり、クラス (またはエンティティ) 間の一方向の関係です。たとえば、財布とお金、財布にはお金が含まれますが、お金には財布が含まれません。これは当然一方向の関係です。

集約関係では、2 つのクラス (またはエンティティ) は独立して存在でき、互いに影響しません。つまり、1 つのクラス (またはエンティティ) の存在は他のクラス (またはエンティティ) に影響を与えません。 ) クラスの有無を集計します。

Javaの集約と合成の違いは何ですか

Java の組み合わせとは何ですか?

組み合わせは、関係の一部を表す制限された形式の集計であり、2 つのエンティティ (またはクラス) は相互に強く依存しています。人間と心臓と同じように、人間が生きていくためには心臓が必要であり、心臓も生きていくために人体を必要とします。

言い換えれば、クラス (エンティティ) が相互に依存しており、その寿命が同じである (一方が死ねば他方も死ぬ) 場合、それは合成です。たとえば、人間がいなければ、心は意味を持ちません。

#集計と結合の違い

Javaの集約と合成の違いは何ですか

#1. 依存関係の違い

集約内の 2 つのクラス (またはエンティティ) は独立して存在でき、相互に影響を与えることはありません。依存には力がありません。

逆に、組み合わせ内の 2 つのエンティティ (またはクラス) は相互に強く依存しており、相互に影響を与えます。

2. 関係タイプの違い

集約は関係を持っていることを表し、一方向の関係の組み合わせは関係の一部を表します。

3. 関連付けの強さの違い

集合は弱い関連付けであり、結合は強い関連付けです。

4. ライフ サイクルの違い

集約関係における 2 つのクラス (またはエンティティ) のライフ サイクルは、結合関係では同期されません。 2 つのクラス (またはエンティティ) のライフ サイクルが同期されます。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

以上がJavaの集約と合成の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。