Grupa MagazynyInternetowe
Online: 1001
W UML interfejsy są zestawem operacji, które wyznaczają usługi oferowane przez klasę i sposobem na przejrzystą prezentację projektu.
Marcin Staniszczak
Zapoznałeś się już ze sposobem prezentacji klas na diagramach klas, więc nadszedł czas na interfejsy. Twórcy języka UML rozumieją interfejsy jako zestaw operacji, które wyznaczają usługi oferowane przez klasę (lub komponent, lecz o komponentach będzie w przyszłości). Zagmatwane? Jak wszystkie regułki. Podejdźmy do sprawy od bardziej praktycznej strony - jak programiści.
Jeśli programowanie obiektowe nie jest ci obce, zapewne wiesz, jak rozumieć interfejs. Jeśli zaś w programowaniu obiektowym dopiero stawiasz pierwsze kroki, oto co powinieneś wiedzieć o interfejsach:
Co to daje? Klasy implementujące nasz interfejs (w UML klasy realizują interfejsy) są zgodne co do typu. Wystarczy, że kod korzystający z takich klas zna budowę interfejsu, a już potrafi poprawnie posługiwać się wszystkimi klasami implementującymi ten interfejs.
Dlaczego? Interfejs wymaga, aby klasa realizująca
go dostarczyła implementacji wszystkich
określonych w nim operacji. Co więcej, operacje te
muszą w klasie mieć takie same nazwy jak w interfejsie.
Dzięki temu kod używający takiej rodziny
klas, znając jednie interfejs, może bezpiecznie
posługiwać się całą rodziną, nawet jeśli niektóre z klas powstały na długo po utworzeniu tego kodu.
Typowy interfejs w UML-u może mieć taki sam
symbol jak klasa, jednak wzbogacony o stereotyp
<<interface>> - zobacz rysunek 1.
Rys. 1. Typowy interfejs
|
Rys. 2. Interfejs - symbol
kuli
|
Widać tutaj zarówno nazwę interfejsu, jak i wszystkie jego operacje. Interfejs można także przedstawić w postaci uproszczonej - wówczas ma on postać kuli i nie widać na nim żadnych operacji (zobacz rysunek 2).
Powyższe interfejsy to tak zwane interfejsy udostępniające. Klasy realizują je, a zadanie realizacji przedstawiane jest na diagramie za pomocą strzałki z przerywaną linią i niezamalowanym grotem - zobacz rysunek 3.
Rys. 3. Realizacja
interfejsu przez klasę
|
Rys. 4. Realizacja
interfejsu przez klasę
– interfejs w postaci kuli
|
W przypadku, gdy interfejs prezentowany jest w postaci kuli, związek realizacji pomiędzy klasą a interfejsem przedstawia się za pomocą linii ciągłej - rysunek 4.
Jeśli klasa korzysta z usług innych klas za pośrednictwem interfejsu, wówczas mówimy o interfejsie pozyskującym. Interfejs taki ma symbol łuku - rysunek 5.
Rys. 5. Interfejs pozyskujący
Wiesz już czym jest związek asocjacji - jeśli nie pamiętasz, zapoznaj się raz jeszcze z poprzednim odcinkiem kursu UML-a. Warto też wiedzieć o istnieniu klas asocjacyjnych. Są to klasy powiązane za pomocą linii przerywanej z asocjacją. Dzięki temu dana klasa opisuje asocjacje pomiędzy klasami, których ta asocjacja dotyczy. Na rysunku 6 zaprezentowano klasę asocjacyjną, mówiącą nam, że Osoba jest powiązana z Firmą poprzez bycie jej pracownikiem.
Warto także pamiętać, że w przypadku występowania klasy asocjacyjnej w kodzie programu, klasy biorące udział w asocjacji mogą, ale nie muszą, posiadać bezpośrednie połączenia pomiędzy sobą.
A więc klasa Osoba nie musi mieć bezpośredniego połączenia z klasą Firma. Klasa Osoba może mieć na przykład połączenie z klasą Pracownik, zaś klasa Pracownik z klasą Firma. Dzięki temu przez pośrednictwo klasy asocjacyjnej Pracownik jest powiązany z Firmą.
W przypadku gdy mamy do czynienia z bardziej złożonymi diagramami klas, można pokusić się o zbudowanie dodatkowo diagramu obiektów. Obiekty na diagramie prezentuje się za pomocą prostokątów, w których nazwa jest podkreślona. Po niej, po dwukropku, znajduje się nazwa klasy, której obiekt reprezentuje dany prostokąt. Na rysunku 7 przedstawiono powiązanie obiektów pracowników (klasy Pracownik) z obiektem klasy Firma.
Rys. 6. Klasa
asocjacyjna
|
Rys. 7. Diagram
obiektów
|
W kolejnym odcinku zapoznasz się z nowymi diagramami - diagramami przypadków użycia. Tymczasem ćwicz z poznanymi już diagramami klas. Jeśli nie dysponujesz żadnym programem, który by to ułatwił, możesz zawsze rysować diagramy ołówkiem na kartce. Pamiętaj tylko o gumce do ścierania, ponieważ przyda się ona niejeden raz.
Powiązane publikacje
Komentarzy: 3
Makabryczny zbieg okolicznośći Renata dodała komentarz rok temu w Thursday, w dodatku drugiego kwietnia, a ja czwartego lutego, pozatym oboje o dwudziestej trzeciej a 48 jest wielokrotnością 12. jakbym się pospiesył o 36 minut godzina byłaby identyczna... to taka bajka z morałem. Jak się spóźnisz to musisz bardziej kombinować. o/
Świetny Kurs, przerobiłem go w godzinę, do tego wydrukowałem Tablice UML i teraz wiem już wszystko. Zostanę hakerem i podbiję świat. Do zobaczenia na pierwszych stronach gazet. o/
Z ogromną przyjemnością , chciałabym pochwalić twórców tego poradnika.Przeczytałam wiele publikacji zarówno książkowych jak i internetowych i w każdej mi czegoś brakowało ,tu znalazłam niesamowicie przejrzyste przedstawienie wiedz o UML , także wszystko się staje proste i zrozumiałe.Jeszcze raz dzięki za wspaniałą pracę z waszej strony i pozdrawiam serdecznie.Będę częstym gościem waszej strony.
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: