Witam zgłębiam temat diagramów klas w uml. Mam trochę problem z zależnością i asocjacją, ale zacznijmy od końca :)
Kompozycja (agregacja całkowita)
Jeden obiekt ma na własność drugi obiekt i gdy usuwamy obiekt parent to usuwamy również child-a, a jeśli usuniemy child-a to parent zostacje
Np.
public class Car{
public void init(){
Kierownica kierownica = new Kierownica();
}
}
Agregacja częściowa
Jeden obiekt ma w sobie referencję do drugiego obiektu, nie tworzy go i nie usuwa (czasy istnienia są od siebie niezależne)
Np.
public class Car{
Kierowca kierowca;
public void setKierowca(Kierowca kierowca){
this.kierowca=kierowca;
}
}
Zależność
Jedna klasa może wykonywać operacje na innej klasie, tworzyć ją, mieć w sobie jej instację
Np
public class Car{
public void addCar(Kierowca kierowca){
kierowca.add(this);
}
}
A jak to będzie z asocjacją? Wiem że ona jest silniejsza od zależności (czyli będzie pozwalała na mniej operacji niż zależność), prosiłbym o jakiś prosty przykład. Przykładowy kod pisałem w javie :P
Z góry dziękuję za odpowiedzi :)