ullman246 (2)

ullman246 (2)



S ZORIENTOWANE OBIEKTOWO JĘZ YKI ZAPYTAŃ

Zastosowanie nazwy typu w przypadku argumentów jest korzystne zwłaszcza wtedy, kiedy nazwa typu jest klasą. Istnieje kilka różnych postaci funkcji konstruujących dla klas, a postacie te zależą od typu właściwości, które mają być zainicjowane lub którym nadaje się wartości domniemane w sposób jawny. Na przykład z pewnością nie inicjuje się metod, większości atrybutów można przypisać wartości początkowe, a związki można określić jako puste. Nazwa każdej funkcji konstruującej jest taka sama jak nazwa klasy, a rozróżnia się je dzięki nazwom pól, które występują jako argumenty. Sposób definiowania funkcji konstruujących zależy' od języka podstawowego.

PRZYKŁAD 8.21

Rozważmy potencjalną funkcję konstruującą dla obiektów klasy Film. Pobiera ona wartości atrybutów' tytuł, rok, długość i na eżyDo, a następnie tworzy obiekt z określonymi wartościami czterech pól oraz pustym zbiorem gwiazd. Zatem, jeśli mcm oznacza zmienną, której wartością jest obiekt klasy Studio reprezentujący wytwórnię MGM, to obiekt reprezentujący film Przeminęło z wiatrem można utworzyć w następujący sposób:

pzw = Film (tytuł: „Przeminęło z wiar. rem", rok: 1939, długość: 239, należyDo: ragm);

Przetworzenie tej instrukcji daje dwojaki wynik:

1.    Tworzy się nowy obiekt klasy Film, który' staje się częścią zasięgu

Filmy.

2.    Obiekt ten jest wartością zmiennej pzw.

8.4.5. Ćwiczenia do podrozdziału 8.4

Ćwiczenie 8.4.1. Zmiennej x z języka podstawowego należy przypisać następujące stałe:

-a) Zbiór {1,2,3}.

b)    Wielozbiór {1,2,3, 1}.

c)    Listę {1,2,3, 1}.

d)    Strukturę, której pierwsza składowa a jest zbiorem {1. 2}, a druga składowa, nazwana b, jest wielozbiorem {1, 1}.

e)    Wielozbiór struktur, z których każda ma dwa pola o nazwach a i b. Wartości w trzech poszczególnych parach stanowiących struktury' są następujące: (1,2), (2, 1)1(1, 2).

Ćwiczenie 8.4.2. Korzystając zc schematu z ćwiczenia 8.1.1 oraz rys. 8.2. należy w C • + (lub innym języku obiektowym) napisać instrukcje rozszerzone o OQL, które mają działać w następujący sposób:

*a) Zmiennej x z języka podstawowego należy przypisać obiekt PC, który ma numer 1000.

b)    Zmiennej y z języka podstawowego należy przypisać zbiór obiektów typu laptop, które mają co najmniej 16 megabajtów RAM.

c)    Zmiennej z języka podstawowego należy przypisać wartość średnią szybkości PC sprzedawanych poniżej 1500 $.

!d) Wyszukać wszystkie drukarki laserowe, wydrukować listę ich numerów modeli wtuz z cenami, a na końcu wskazać numer modelu o najniższej cenie.

Me) Nalez>r wydrukować zestawienie obejmujące wszystkich producentów i najniższe oraz najwyższe ceny ich produktów'.

Ćwiczenie 8.4.3. W bieżącym ćwiczeniu posłużymy się schematem bazy danych wprowadzonym w ćwiczeniu 8.1.2 i na rys. 8.3. Zakładamy, że dla wszystkich czterech klas schematu zostały zdefiniowane funkcje konstruujące z nazwami takimi samymi, jak nazwy klas, które określają wartości wszystkich atrybutów oraz związków jednowartościowych, a związki wielo wartościowe są określane jako puste. Przy związkach jedno wartościowych do innych klas można korzystać ze zmiennych języka podstawowego, których wartością jest obiekt bieżący. Należy umorzyć obiekty, zdefiniowane poniżej oraz przypisać je odpowiednim zmiennym języka podstawowego.

“a) Okręt Colorado z klasy Maryland, wodowany w 1923 r.

b)    Okręt Graf Spee z klasy Lutzów, wodowany w 1936 r.

c)    Wynik bitwy malajskiej, w której został zatopiony okręt Prince of Wales.

d)    Bitwa malajska odbyła się 10 grudnia 1941 r.

e)    Klasa Hood okrętów' brytyjskich ma 8 dział 15-calowych oraz wyporność 41 000 ton.

8.5. Obiekty krotkowe w języku SQL3

W języku OQL nie wyróżnia się pojęcia relacji, jest to po prostu zbiór (lub wielozbiór) struktur. Jednakże w języku SQL pojęcie relacji jest na tyle istotne, że obiekty w SQL3 podtrzymują tę centralną rolę pojęcia relacji. 1 dlatego obiekty w SQL3 są dwojakie:

1.    Obiekty wierszowe, które są po prostu krotkami.

2.    Abstrakcyjne typy danych (abstract data types w skrócie ADT lub w niektórych dokumentach SQL3 określane jako wartości ADT), które są w istocie obiektami używanymi jako składowe krotek.

W bieżącym podrozdziale omówimy obiekty wierszowe, a typy ADT zostaną przedstawione w podrozdziale 8.6.


Wyszukiwarka

Podobne podstrony:
ullman246 (2) S ZORIENTOWANE OBIEKTOWO JĘZ YKI ZAPYTAŃ Zastosowanie nazwy typu w przypadku argumentó
ullman258 (2) S ZORIENTOWANP. OBIEKTOWO Jlj/.YKI ZAPYTAŃ ferencja do typu wiersza jego własnej relac
ullman258 (2) S ZORIENTOWANP. OBIEKTOWO Jlj/.YKI ZAPYTAŃ ferencja do typu wiersza jego własnej relac
76123 ullman242 (2) 8. ZORIENTOWANE OBIEKTOWO JŁ-ZYKI ZAPYTAŃ Zajmijmy się teraz klauzulą SELECT. Dl
ullman242 (2) 8. ZORIENTOWANE OBIEKTOWO JŁ-ZYKI ZAPYTAŃ Zajmijmy się teraz klauzulą SELECT. Dla każd
ullman240 (2) HOO 8 ZORIENTOWANE OBIEKTOWO Jl-ZYKl ZAPYTAŃ !e) Należy znaleźć nazwy bitew, w których
ullman240 (2) HOO 8 ZORIENTOWANE OBIEKTOWO Jl-ZYKl ZAPYTAŃ !e) Należy znaleźć nazwy bitew, w których
ullman237 (2) S. ZORIENTOWANE OBIEKTOWO JĘZYK! ZAPYTAŃ Jeśli ma to sens, to można tworzyć wyrażenia
52682 ullman256 (2) 518 S ZORIENTOWANE OBIEKTOWO JI-ZYKI ZAPYTAŃ8.6.4. Ćwiczenia do podrozdziału 8.6
42460 ullman241 (2) 488 8. ZORIENTOWANE OBIEKTOWO JĘZYKI ZAPYTAŃ Korzystamy tutaj z podzapytania po
43611 ullman239 (2) 484 S. ZORIENTOWANE OBIEKTOWO JE2YK! ZAPYTAŃ SELECT m FROM Filmy :r. WHERE m.nal
44501 ullman253 (2) 512 8 ZORIENTOWANE OBIEKTOWO JĘZYK! ZAPYTAŃ Pozostałe funkcje można definiować a
24504 ullman238 (2) 482 S ZORIENTOWANE OBIEKTOWO JĘZYKI ZAPYTAŃ T cych klauzulę WHERE. Te nazwiska s
70029 ullman243 (2) 492 8. ZORIENTOWANE OBIEKTOWO JĘZYKI ZAPYTAŃ lect-from-whcre; przedstawiono ją n
73187 ullman254 (2) 514 s zorientowani: obiektowo języki zapytań traktowano by jako równe, jeśli wyg

więcej podobnych podstron