В диаграмме классов UML ассоциация является более сильной взаимосвязью, чем зависимость,
связь и зависимость могут быть реализованы следующим образом:
Ассоциация -> A имеет объект B (как переменная-член)
public class A {
private B b;
A(B b){
this.b= b;
}
public void myMethod() {
b.callMethod();
}
}
Зависимость -> A ссылается на B (как параметр метода или возвращаемый тип)
public class A {
public void myMethod(B b) {
b.callMethod();
}
}
В приведенном выше примере вызов b.callMethod()
может быть выполнен с использованием ассоциации или зависимости.
Я хочу знать, когда использовать один из подходов:
- один объект имеет другой объект как поле (ассоциацию)
- объект принимает другой объект как параметр метода (зависимость) ???
p.s - Любой пример приветствуется :)