👩‍💻 Виды отношений между объектами



Реализация — класс А определяет методы, объявленные интерфейсом B. Объекты А можно рассматривать через интерфейс B. Класс А зависит от B.



Наследование — класс А наследует интерфейс и реализацию класса B, но может ее переопределить. Объекты А можно рассматривать через интерфейс класса B. Класс А зависит от B.



Зависимость — класс А могут затронуть изменения в классе B.



Агрегация — объект А знает об объекте B и состоит из него. Класс А зависит от B.



Ассоциация — объект А знает об объекте B. Класс А зависит от B.



Композиция — объект А знает об объекте B, состоит из него и управляет его жизненным циклом. Класс А зависит от B.





➡️ Java Developer