uml kompozycja i powiązanie

  • Rejestracja: dni
  • Ostatnio: dni
0

Jaka jest różnica pomiędzy kompozycją a powiązaniem ?
Na różnych forach znalazłem inne odpowiedzi.
Jedną z nich była że przy kompozycji jest dodatkowy kod usuwający składowe obiektu
który zawiera dana klasa. Czy w javie powiązanie i kompozycja byłaby równoważna ?
Po skasowaniu referencji do obiektów byłyby automatycznie usuniete z pamięci.
Innym wyjaśniem które znalazłem było że różnicą jest to że przy powiązaniu klasa może
zawierać obiekty klas z których dziedziczy.

Herk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 272
0

Wygląda to tak.

Powiązanie :

Powiązanie stosujemy wtedy, gdy dwie klasy są w takiej relacji, że istniejące typy relacji UML-a są nie wystarczające do określenia zachowań tych dwóch klas. Czyli na przykład mamy klasy Firma i Pracownik.

Firma <------------ Pracownik
+pracuje

Oznacza, że pracownik świadczy jakieś usługi firmie. Czyli klasa pracownik wykonuje jakieś operacje na rzecz klasy Firma.

Kompozycja :

To ogólnie specjalny przypadek zawierania. Tylko z jedną różnicą. Mamy dwie klasy, A i B. Klasa B jest zawarta w klasie A. I teraz różnica : klasa B nie może posiadać samodzielnych instancji. Czyli na przykład ekran monitora nie może istnieć osobno, jest zawsze składową monitora.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.