Interfaces04.pdf

(171 KB) Pobierz
Interfejsy i role
Interfejsy, typy i role
Interfejs określa granicę między specyfikacją a implementacją. Dobrze zbudowany
interfejs charakteryzuje się wyraźnym oddzieleniem wewnętrznych aspektów od
abstrakcji zewnętrznych.
Interfejs to zestaw operacji, które wyznaczają usługi oferowane przez klasę lub
komponent.
Typ to stereotyp klasy używany do definiowania dziedziny obiektów, wraz z
operacjami (ale nie metodami), które można na tych obiektach wykonać.
Rola to zachowanie bytu w określonym kontekście.
Tomasz Szmuc '02
1
2707290.003.png
Iczujnik
<<Interface>>
ObsługaPołączeniaURL
UsługiSieciowe:: IRouter
nawiążPołączenie()
analizujURL()
ustawURL()
formaCzytelna()
Rys. Interfejsy: forma uproszczona i zawierająca operacje
Tomasz Szmuc '02
2
2707290.004.png
IObserwator
Cel
Celownik
Cel
zależność
realizacja
id
bieżącaPozycja
<<interface>>
Obserwator
przenieś()
nadajPrędkość()
spodziewPozycja()
Celownik
aktualizuj()
Rys. Interfejs i związki
Tomasz Szmuc '02
3
2707290.005.png
Klasa może realizować wiele interfejsów. Każdy egzemplarz klasy musi zatem
wszystkie te interfejsy akceptować.
Egzemplarz może jednak ograniczyć zbiór oferowanych interfejsów, do tych które
są istotne. W takim przypadku interfejs reprezentuje rolę odgrywaną przez obiekt.
W celu formalnego zapisania znaczenia abstrakcji i jej zgodności z interfejsem
należy użyć interfejsu type. Jest to stereotyp klasy, który definiuje dziedziny
obiektów i operacji, które można na tych obiektach wykonać.
Tomasz Szmuc '02
4
2707290.006.png
<<interface>>
Pracownik
Interfejs
odczytajHistorięPracy()
odczytajWynagrodzenie()
odczytajPremie()
Klasa
Osoba
1..*
*
Przedsiębiorstwo
p : Pracownik
Rola
Rys. Role
Tomasz Szmuc '02
5
2707290.001.png 2707290.002.png
Zgłoś jeśli naruszono regulamin