私は少し混乱していAssociation, Aggregation and Composition
ます。たくさんのウェブサイトやフォーラムがこのトピックについて議論していますが、それらのいくつかを読んだ後、私はもっと混乱しました。
以下が正しいかどうか知りたい:
1.)集約-全体が破壊された場合に存在します。たとえば、は、のEngine
有無にかかわらず存在する可能性がありCar
ます。
2.)構成-オブジェクトが破壊された場合は存在しません。たとえば、Room
はなしでは存在できませんHouse
。
3.)関連付け-どのような場合にこれを使用すべきかわかりません。誰かがこれについてコメントできますか?
Aggregation、COmposition、Association用のJavaコードの記述に関しては
4.)集約
Class Car {
private Engine engine;
public void setEngine(Engine engine){
this.engine=engine;
}
public Engine getEngine(){
return engine;
}
}
アグリゲーションアソシエーションの場合は、accessors and mutators
定義する必要があると思います。これは正しいです ?
私のアグリゲーションの定義によると、Car
オブジェクトが破壊された場合、Engine
にアクセスできると述べました。しかし、私は上記のコードでそのハプニングを見ていません。Carオブジェクトが破壊された場合、のようなエンジンにアクセスする方法はありませんcar.getEngine()
。では、これはどのように起こりますか?
構成
Public House {
private Room room;
Public House (){
room = new Room (int noRooms, String nameOfHouse);
}
}
C0mposition
もしそうなら、機能はないはずだと思いaccessor mutator
ます。オブジェクトRoom
はコンストラクター内でのみ作成する必要があります。room
オブジェクトを保持するインスタンスメソッドはPrivate
?私は正しいですか?
注:もう一度、私はグーグルで疑問を解消するために多くのWebサイト/フォーラムにアクセスしました。同様の質問が多くのフォーラムに投稿されましたが、それでも私はこれについてもっと混乱しました。誰かが私の疑問を解決するのを手伝ってくれませんか。ありがとうございました!