INFO
Sylabus
Standard ODMG, część 4
1. Plan wykładu
2. Co to jest język zapytań?
3. OQL -wstępne informacje
4. Krótka charakterystyka OQL
5. OQL - kilka przykładów
6. Wejście i wynik zapytań w OQL
7. Przykłady w OQL
8. Tworzenie obiektów
9. Co zwraca zapytanie?
10. Wyrażenia ścieżkowe
11. Predykaty, złączenia
12. Wartości zerowe
13. Wołanie metod
14. Polimorfizm, późne wiązanie, wskazanie klasy
Skorowidz
Wyście:
Wyklad X. Wprowadzenie do standardu ODMG, część 4:
OQL (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

13. Wołanie metod

Nie ma istotnej różnicy w użyciu nazwy atrybutu i nazwy metody;

Podaj wiek najstarszego dziecka Kolskiego
select max( select d.wiek from os.dzieci as d ) 
from Osoby as os where os.nazwisko = "Kolski"
wiek jest metodą zdefiniowaną dla obiektów Osoba.
(1kB)

Jeżeli metoda zwróci obiekt (referencję?), to od takiego obiektu można dalej nawigować:

Podaj ulice na których mieszkają najstarsze dzieci osób z Burakowa: najstarsze_dziecko jest metodą zdefiniowaną dla obiektów Osoba i zwracającą obiekt Osoba;
select os.najstarsze_dziecko.adres.ulica 
from Osoby as os 
where os.mieszka_w( "Buraków" )
mieszka-w jest metodą z jednym parametrem zwracającą True lub False.



14. Polimorfizm, późne wiązanie, wskazanie klasy

Przy wołaniu metod, brana jest pod uwagę metoda, która jest najbliżej obiektu będacego adresatem komunikatu.

Decyzję, którą metodę należy wybrać podejmuje się podczas czasu wykonania.

(2kB)
W takich sytuacja czesto trzeba wskazać klasę
(zastosować casting):
select os.co_robi 
from Osoby as os
W zależności od tego, czy konkretna Osoba jest po prostu osobą, czy też pracownikiem, czy też studentem, wybierana jest dynamicznie inna metoda co_robi.
select ((Student)os).rok_studiów 
from Osoby as os 
where "studiuje" in os.co_robi



« poprzedni punkt   następny punkt »