ZSBD-2st-1.2-w5.tresc-1.1-Slajd16

Z Studia Informatyczne
Wersja z dnia 16:24, 11 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Heterogeniczne kolekcje danych

Heterogeniczne kolekcje danych


Tabele obiektów, których schemat jest zdefiniowany na podstawie bazowego typu danych z którego są wywiedzione typy pochodne, mogą być heterogeniczne. To znaczy, że mogą przechowywać obiekty polimorficzne. Obiekty przechowywane w tabelach heterogenicznych mogą być wystąpieniami zarówno typu bazowego jak i typów pochodnych. W związku z tym, mogą mieć różną strukturę. Wystąpienia typów pochodnych mogą posiadać dodatkowe atrybuty nie występujące w typie bazowym.

Na slajdzie pokazano przykład tabeli obiektów która może zawierać dwa typy obiektów: koła i wielokąty. Dodatkowo, jeżeli typ figura nie byłby typem abstrakcyjnym, tabela obiektów mogłaby jeszcze zawierać generyczne figury, które nie są ani kołami, ani wielokątami. Wystąpienia typu Figura mają jeden atrybut, a wystąpienia typu Koło dwa dodatkowe atrybuty: środek i promień.

Do heterogenicznej tabeli Figury zdefiniowanej na typie bazowym Figura wstawiono dwa obiekty, pierwszy typu Koło i drugi typu Wielokąt. Następnie na tabeli Figury wykonano dwa zapytania. Wynikiem pierwszego zapytania jest dwuelementowa kolekcja obiektów polimorficznych: jedno koło i jeden wielokąt. Wynik drugiego zapytania jest ograniczony do obiektów typu koło w wyniku zastosowania operatora "is of ". W naszym konkretnym przypadku wynik zapytania będzie zawierał dokładnie jeden obiekt.


<< Poprzedni slajd | Spis treści | Następny slajd >>