Зависимость - изменение класса влияет на изменение зависимого класса. Пример. Круг зависит от формы (интерфейса). Если вы измените форму, это также повлияет на круг. Итак, Circle зависит от формы.
Ассоциация - означает, что между двумя объектами существует определенная связь.
(один-один, один-много, много-много)
Ассоциация бывает 2-х типов -
- Сочинение
Агрегация
1) Композиция - более сильная ассоциация или связь между 2 объектами. Вы создаете объект класса B внутри другого класса A
public class A {
B b;
public void setB(){
this.b= new B();
}
}
Если мы удалим класс A, B не будет (объект B создается только внутри A).
Другой пример - тело и печень. Печень не может существовать вне тела.
2) Агрегация - более слабый тип ассоциации между 2 объектами.
public class A {
B b;
public void setB(B b_ref){
this.b= b_ref;
/* object B is passed as an argument of a method */
}
}
Даже если вы удалите класс A, B будет существовать снаружи (B создается снаружи и передается в класс A)
Другой пример - Man & Car. У человека есть машина, но человек и машина существуют независимо.