集約もコンポジションもUMLのクラス図で使われる言葉で、両方ともHAS-Aの関係を表します。記号で書くと
- ◆-がコンポジション
- ◇-が集約
さて、本題です。
- 集約はClassA型の変数が消滅してもClassB型のメンバー変数は消滅しない
- コンポジションはClassA型の変数が消滅したらClassB型のメンバー変数も消滅する
- class ClassA {
- // field
- ClassB b;
- };
- class ClassA {
- // field
- ClassB* b;
- // destructor
- ~ClassA() {
- delete b;
- }
- };
- class ClassA {
- // field
- ClassB* b;
- // destructor
- ~ClassA() {
- // do nothing...
- }
- };
0 件のコメント:
コメントを投稿