Poniżej znajdziesz opis podstawowych relacji UML. Klasa A (Class A) jest klasą referencyjną – relacje biegną od niej w stronę klasy B (Class B).

Asocjacja -> a)
Jest to najprostszy rodzaj relacji – mówi o tym, że dwa obiekty są ze sobą, w jakiś sposób, powiązane. Na jego podstawie opisuje się, inne typy relacji. Obydwa przypadki będą prawidłowe:
class A {
B b;
}
class B {
A a;
}Agregacja -> b)
Jest to asocjacja typu „mam coś” – np. Pokój ma krzesła
class Room {
List<Chair> chairs;
}Kompozycja -> c)
Jest to asocjacja typu „składam się z czegoś” – np. Budynek składa się z pokoi
class Building {
Room room;
}Dziedziczenie -> d)
Samo mówi za siebie 🙂
class Bird extends Animal { ... }Różnica pomiędzy agregacją a kompozycją
Agregacja charakteryzuje się tym, że obiekty ze sobą powiązane mogą istnieć bez siebie (krzesła mogą istnieć bez pokoju). Zaś w przypadku kompozycji, obiekt podrzędny nie może istnieć bez obiektu nadrzędnego (pokój nie może istnieć bez budynku).
