Встречается на собеседованиях • сегодня
В чем разница между агрегацией и композицией
Агрегация и композиция — это виды ассоциации между классами, но с разной степенью зависимости:
Агрегация (слабая связь):
- Объект может существовать независимо от контейнера
- Пример: Университет и Студент. Студент может перейти в другой университет или существовать без него
python
class Student:
pass
class University:
def __init__(self):
self.students = [] # агрегацияКомпозиция (сильная связь):
- Объект не может существовать без контейнера
- Жизненный цикл зависимого объекта управляется контейнером
- Пример: Дом и Комната. Комната не существует без дома
python
class Room:
pass
class House:
def __init__(self):
self.rooms = [Room()] # композицияКлючевое отличие: в композиции дочерние объекты создаются и уничтожаются вместе с родительским, а в агрегации — нет.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы