私は少し混乱してい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サイト/フォーラムにアクセスしました。同様の質問が多くのフォーラムに投稿されましたが、それでも私はこれについてもっと混乱しました。誰かが私の疑問を解決するのを手伝ってくれませんか。ありがとうございました!