63692 ullman024 (2)

63692 ullman024 (2)



Gwiazd zgodnie z rys. 2.5. W wierszu 4 widać nie tylko deklarację związku występujeW, ale także określenie wskazujące na to, że ten związek ma związek odwrotny Film: :gwiazdy. Ponieważ związek gwiazdy jest zdefiniowany w innej klasie, więc jego nazwa musi być poprzedzona nazwą tej klasy (Fi m) i podwójnym dwukropkiem. Notacja z dwukropkiem służy do odwoływania się do cech z innej klasy.

1)    interface Gwiazda {

2)    attributo string nazwisko;

3)    attribute Struct Adr

{string ulica, string miasto) adres;

4)    relationship Set<Filmy> występujeW

inverse Filmy::gwiazdy;

I;

RYSUNKK 2.5

Klasa Gwiazda, która obrazuje związek i jego odwrotność

W przykładzie 2.4 występują dwa wzajemnie odwrotne związki, z których każdy wiąże obiekt (film lub gwiazdę filmową) ze zbiorem obiektów. Jak już wspomnieliśmy, istnieją jeszcze inne związki, które wiążą pojedynczy obiekt z pojedynczym obiektem innej klasy. Notacja określenia odwrotności nie zmienia się. Zasadę ogólną można zapisać następująco: jeśli związek w klasie C wiąże z obiektem x klasy C zbiór jednego lub więcej obiektowy,,

Yi.....Vn, to związek odwrotny do R wiąże z każdym z obiektów y, obiekt x

(a także niekiedy i inne obiekty).

Zrozumienie tych zasad często okazuje się łatw iejsze po przedstawieniu związku R między klasami Ca 73 jako listy par lub krotek. Każda para składa się /. obiektu .v z klasy (' oraz obiektu y z klasy D

C


D

y i

*2    .V2

leśli związek /ć jest typu set<D>, to jedna wartość ze zbioru C może pojawić iię w kilku parach. Natomiast jeśli związek R jest typu D. to jedna wartość ze sbiom (' może wystąpić tylko w jednej parze.

Związek odwrotny do R jest zbiorem par o elementach w odwróconej kolejności.

O C

Zauważmy, że ta zasada obowiązuje także wówczas, gdy C i D oznaczają tę samą klasę. Istnieją nawet pewne związki, które przeprowadzają klasę w siebie, jak to jest na przykład w przypadku związku „być dzieckiem” w klasie

„Osoby”.

O wymaganiach dotyczących związków odw rotnych

Język OD!., jako język projektowania oderwany od implementacji, wymaga, aby związki miały swoje odwrotności. Należ)' to interpretować następująco: jeśli można od obiektu, powiedzmy od jakiegoś filmu, przejść do obiektu powiązanego z nim, na przykład do obiektu typu gwiazdy filmowej, to także można pokonać drogę w przeciwną stronę, od gwiazdy filmowej do filmów, w' których ona występowała. Załóżmy, że gwiazdą filmową jest Charlton lleston. Możemy prześledzić wszy stkie tytuły filmów, a także ich obsadę. Stąd możemy uzyskać wykaz wszystkich filmów, w' których występował Ueston. W języku ODL ten odw rotny proces musi być jednoznacznie nazwanym związkiem.

Jeśli jednak przejdziemy od języ ka ODL do jego realizacji w językach programowania, na przykład w C++, to przekonamy się, że możemy deklarować powiązania tylko w klasie Filmy i nic ma sposobności utworzyć żad nych powiązań od obiektów typu gwiazda filmowa do obiektów klasy Filmy. Stąd leż realizacja języka ODL poprzez. C++ dopuszcza tylko związki „w jedną stronę”. Ale ponieważ tutaj omawiamy proces projektowania, a nic implementację, w ięc zakładamy, żc związki mają odwrotności.


2.1.6. Liczebność związków

Często zdarza się, żc duże znaczenie ma fakt czy związek jest jednoznaczny. Izn. czy wriąże dany obiekt / jedynym, wybranym obiektem, czy też danemu obiektowa odpowiada wiele innych obiektów. Możliwości wyboru w języku ODL dostarcza dostępność operatora Set. W przypadku pary Związków wzajemnie odwrotnych istnieją cztery' możliwości: związek może być jednoznaczny w' obie strony, w jedną z dwóch stron lub w żadną.

Omawiany związek między gwiazdami filmowymi a filmami nie jest jednoznaczny w żadną stronę. Oznacza to, żc zazwyczaj w filmie występuje kilka gwiazd, a także żc każda gwiazda występowała w kilku filmach. Kolejny przykład powstał z poprzedniego przez dołączenie klasy Studio, która reprezentuje studio producenta filmów.

PRZYKŁAD 2.5

Na rysunku 2.6 przedstawiono deklaracje trzech klas: Film, Gwiazda i Studio. Pierwsze dwie z nich już znamy z przykładów 2.1 oraz. 2.2. Obiekty klasy Studio mają atrybuty nazwa i adres; zdefiniowano je w wierszach 1.1


Wyszukiwarka

Podobne podstrony:
my nie tylko ciekawej interpretacji życiorysu, ale także określonej prezentacji ich wyglądi (w tym r
estetyka4 -    Naśladuje zatem naturę nie tylko malarz malujący portret, ale także ar
Połączenia spawane wykorzystuje się nie tylko w tworzeniu konstrukcji nietypowych, ale także w wykon
28112008(011) Aktywność człowieka zalety nie tylko otf cech stymulacji, ale- także od samego człowie
Z dziejów Uczelni dokonuje się nie tylko poprzez pracę z młodzieżą, ale także poprzez dalsze studia.
275 ZENTRALBLATT f. BIBLIOTHEKSWESEN do tego, ażeby książka radziecka nie tylko co do treści, ale ta
z Synopy, który nie tylko był wielkim mędrcem, ale także potrafił wprawić swe słowa w czyn. Zapytany
SP?999 Aktywność człowieka zależy nie tylko od cech stymulacji, ale także od samego człowieka. Jut T
3ZIALN0ŚĆ Szkoda może być wyrządzona nie tylko przez jednego sprawcę, ale także przez kilku
CCF20110405031 430 Magia, nauka i religia Magia ma ludzkie właściwości nie tylko przez swoją formę,
>    Przysłuchiwać się nie tylko odpowiedziom na pytania, ale także wszelkimi
17514 IMG89 (2) doMępu do całości czasopisma, nie tylko do przyszłych roczników, ale także ,
DSC03768 (2) 23 2.1.3. TECHNOLOGIA Technologia to nie tylko zastosowany sposób wytwarzania, ale takż

więcej podobnych podstron