4

コンポジションとアグリゲーションの違いは何ですか?誰かがこのOOADのサンプルを教えてもらえますか?

4

4 に答える 4

25

学生、学生の脳、そして学生が通っている学校を考えてみてください。

脳は学生の一部です。学生が破壊されると、脳も破壊されます。これが作曲です。

生徒には学校があります。生徒は学校の破壊を生き延び、逆もまた同様です。これは集約です。

于 2009-05-01T20:21:06.543 に答える
6

ここで見つかりました

「集約と構成はどちらも特殊な種類の関連付けです。集約は所有権または全体/部分の関係を表すために使用され、構成はさらに強力な所有形態を表すために使用されます。構成を使用すると、部分と全体の寿命が一致します。複合オブジェクトは、作成と破棄の観点から、そのパーツの配置について単独で責任を負います。

さらに、集合体の端の多重度は1を超えてはなりません。つまり、共有されていません。オブジェクトは、一度に1つのコンポジットの一部である場合があります。コンポジットが破壊された場合、そのすべてのパーツを破壊するか、他のオブジェクトにそれらの責任を与える必要があります。複合オブジェクトは、他のオブジェクトがそのパーツを破壊しないという知識を持って設計できます。

構成を使用して、属性による意味的に同等の値による集計をモデル化できます。実際、構成は元々、以前のUMLドラフトでは値による集約と呼ばれ、「通常の」集約は参照による集約と見なされていました。定義は少し変更されていますが、一般的な考え方は引き続き適用されます。集約と構成の違いは、より設計概念であり、通常、分析には関係ありません。」John Moore

于 2009-05-01T20:13:54.017 に答える
0

ここであなたの質問に関連する答え:http://ootips.org/uml-hasa.html

つまり、構成と集約の両方が非周期的であり、一部全体で構成される関係です。違いは、構成では、全体がその部分を作成(および削除)する責任があるということです。

于 2009-05-01T20:13:15.687 に答える