Я новичок в java и программировании в целом, сегодня я столкнулся с проблемой этих трех отношений. К сожалению, из моих материалов я не могу понять, как их реализовать. Надеюсь, кто-то может это понять.Java - Association, Composition, Aggregation
1) Ассоциация Например, у меня есть 2 класса. Студент и школа, это связь с множественностью 1: 1, я понимаю, что в каждом классе у меня будет атрибут, относящийся к другому классу. Но мой вопрос: если внутри конструктора я объявляю эту ссылочную переменную? Я также создаю набор и получаю методы для них? Что делать, если эта ассоциация имеет множественность 1: N? У меня есть ссылочная переменная, которая ссылается на список, я объявляю, что так или иначе в конструкторе тоже? Я могу создать набор и получить методы для этого списка массивов?
2) Агрегация Из того, что я понимаю, с точки зрения реализации в агрегации Java есть не что иное, как односторонняя связь. Таким образом, эталонная переменная находится только в одном классе. Действительно ли моя гипотеза?
3) Состав Я знаю, что композиция представляет собой особый тип агрегации. Так что, я думаю, с точки зрения реализации на Java, что это будет одна из ассоциаций, поэтому реализация будет такой же, и единственное, что отличается, - это то, как мы распознаем это отношение вне программирования.
Если кто-нибудь может помочь мне, что я действительно ценю это
Жаль, что я не показал ни одного примера, правда, что это помогло бы мне, чтобы описать мои мысли.
Допустим, у нас есть класс, студент
public class Student {
private String name;
private School school;
}
public Student(String namei, School school) {
this.name = name;
this.school = school;
}
Если класс школы, будет иметь atribute частный Студент, было бы объединение. Но если нет, и единственный ссылочный атрибут будет в классе Student, я прав, если бы я сказал, что связь между этими классами - Агрегация?
Что делать, если мы немного изменим его, и мы говорим, что в этой школе должны быть студенты. Итак, единственное, что мы изменим, это контекст, то, как мы думаем о предмете, и ничего больше, если мы это сделаем. Буду ли я прав, если бы я сказал, что это отношение будет составом?
Лучше показать нам свои попытки кода примеров того, что, по вашему мнению, Assoc ясность, агрегация и состав могут быть похожими. –
Связанный, хотя я не убежден в его обмане (не стесняйтесь cv хотя): http://stackoverflow.com/questions/885937/difference-between-association-aggregation-and-composition –