Этот вопрос изучает связи между объектами в объектно-ориентированном программировании (ООП) и их реализацию в 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(); // Композиция
}
Когда использовать:
- Ассоциация применяется для простого взаимодействия объектов.
- Агрегация — когда объект может существовать независимо от владельца.
- Композиция — когда объект-часть зависит от объекта-целого.
Эти связи помогают моделировать реальные отношения между объектами, делая код более структурированным и логичным.