Этот вопрос изучает связи между объектами в объектно-ориентированном программировании (ООП) и их реализацию в Java.
Ассоциативные связи включают агрегацию, композицию и ассоциацию. Они описывают, как объекты взаимодействуют друг с другом.
Типы связей:
Ассоциация:
Простое взаимодействие объектов. Один объект может использовать другой.
class Author {
String name;
}
class Book {
Author author; // Ассоциация между Book и Author
}Агрегация:
Отношение "часть-целое", при котором части могут существовать без целого.
class Department {
String name;
}
class University {
List<Department> departments; // Агрегация
}Композиция:
Сильная связь "часть-целое", при которой часть не может существовать отдельно от целого.
class Engine {
}
class Car {
private Engine engine = new Engine(); // Композиция
}Когда использовать:
Ассоциация применяется для простого взаимодействия объектов.
Агрегация — когда объект может существовать независимо от владельца.
Композиция — когда объект-часть зависит от объекта-целого.
Эти связи помогают моделировать реальные отношения между объектами, делая код более структурированным и логичным.