Grupa MagazynyInternetowe
Online: 408Asocjacja jest podstawowym rodzajem związków między klasami. Oznacza ona istnienie trwałego powiązania pomiędzy nimi. Oto przykłady asocjacji
Przykłady asocjacji przedstawia rysunek 7.
Asocjacja może być jednokierunkowa, to znaczy można zaznaczyć jej kierunek - wiadomo, że firma zatrudnia pracowników, ale nie odwrotnie. Kierunek asocjacji zaznacza się strzałką - zobacz rysunek 8. Asocjacja taka nazywana jest nawigacją.
Rys. 8. Przykłady asocjacji jednokierunkowej
Zaprezentowana wyżej asocjacja to tak zwana asocjacja binarna - są to asocjacje, w skład których wchodzą dwie klasy. Czasami (jednak o wiele rzadziej) stosuje się asocjacje n-arne. w skład takich asocjacji może wchodzić więcej klas. Oto przykład: w sklepie oferującym części komputerowe mogą wystąpić następujące klasy połączone w asocjację n-arną: Część, Cennik, Cena. Na rysunku 9 pokazano diagram takiej właśnie asocjacji. Pamiętaj, że w jej skład może wchodzić więcej niż trzy klasy.
Rys. 9. Przykłady asocjacji n-arnej
Omawiając asocjację, trzeba wspomnieć także o ich nazwach, rolach i liczebności. Nazwa asocjacji wskazuje bezpośrednio czynność, jaka zachodzi pomiędzy klasami. Może także wskazywać kierunek - zobacz rysunek 10.
Rys. 10. Nazwa i nazwa z kierunkiem asocjacji
Role określają, jak sama nazwa wskazuje, jaką rolę pełni dana klasa w asocjacji - zobacz rysunek 11.
Bardziej dokładnego wyjaśnienia wymaga liczebność (mimo że w gruncie rzeczy jest ona bardzo prostą sprawą). Liczebność określa, ile obiektów jednej klasy bierze udział w asocjacji drugiej klasy.
Liczebność można określi stałą cyfrą, np.:
Można określić liczebność jako nieskończoność - *. Można także określić przedział liczebności, np.:
Kolejnym sposobem jest złożone określanie liczebności:
Odpowiedni przykład pokazano na rysunku 12.
Generalizacja odpowiada dziedziczeniu znanemu z języków programowania. Inaczej mówiąc, jest to związek pomiędzy bardziej ogólną klasą (rodzicem) a klasą bardziej szczegółową (rodzicem).
Oto przykłady generalizacji:
Przykłady generalizacji znajdują się na rys. 13.
Rys. 13. Przykłady generalizacji
I wiesz już dość dużo. W kolejnym odcinku dowiesz się czym są i jak deklarować interfejsy. Ale nie zdradzajmy wszystkiego. Tymczasem przeczytaj artykuł kilka razy i spróbuj samodzielnie przygotować różne diagramy UML.
Powiązane publikacje
Komentarzy: 5
Do: "Wujek z lasu"
Asocjacja nie ma wypełnionego grotu w strzałce, a na tym rysunku jest wypełniony grot.
Jest wiecej powazniejszych bledow a zauwazacie literowki lub slowa.
Rys. 13 nie przedstawia specjalizacji, generalizacji, czy tzw dziedziczenia, a tylko asocjacje.
Strzalki powinny byc trojkatami, pustymi w srodku.
Na stronie 4. jest drobny błąd. Chodzi o drugi nawias w zdaniu:
"Inaczej mówiąc, jest to związek pomiędzy bardziej ogólną klasą (rodzicem) a klasą bardziej szczegółową (rodzicem). "
A tak poza to świetny kurs. Przyda się do nauki na wejściówkę ![]()
Teraz dopiero zobaczyłem linki do podstron (czemu nie widziałem ich wczoraj?...) No to czytamy dalej ![]()
Brzmi zachęcajaco, ale na podstawie 2. i 3. części odnoszę wrażenie, że tutaj czegoś brakuje (np. diagramy klas, związek asocjacji). Czyżby ta część kursu była niekompletna?
Artykuły tego autora:
Dziś kolej na następny rodzaj diagramów - diagramy czynności (zwany często diagramem aktywności). Diagramy czynności należą do jednych z bardziej złożonych elementów języka UML, jednak jako że kurs ten traktuje o podstawach, zostaną tu zaprezentowane wyłącznie najważniejsze jego elementy.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: