Integracja obiektowego jezyka zapytan z jezykiem programowania Java - Wcislo.pdf

(1964 KB) Pobierz
Integracja obiektowego języka zapytań z językiem programowania Java
Wydział Inormatyki
Katedra Inżynierii Oprogramowania
Inżynieria Oprogramowania i Baz Danych
Emil Wcisło
Nr albumu 3122
Integracja obiektowego języka zapytań z językiem
programowania Java
Praca magisterska napisana
pod kierunkiem:
dr inż. Piotr Habela
Warszawa, maj 2010
648110950.002.png
2
Abstrakt
Niniejapracamagiterkajetpróbąrobudowypopularnegojykaprogramowania
Javaoobiektowy,mocnyalgorytmicnie,pryjanydlaużytkownikajykapytaoJyk
ten,tworonywoparciuoprełomowądlajykówapytaokoncepcjpodejcia
stosowego, realizuje pretwaraniedanychulotnychwpamicioperacyjnejStanowi on
odpowied na cieący i unaniem jyk LINQ, wprowadony do jyków
programowania platformy Microsoft .NET. Zakooconaukceem implementacja posiada
równieżwłaciwoci niedotpnewjykuLINQWródnichnależywpomniedo
uniweralnociiminimalnocikładni,możliwocipretwaraniadowolnychobiektów
Java, mocnej kontroli typologicznej w czasie kompilacji i wysokiej wydajnociewaluacji
apytao W caie tworenia projektu otała opracowana i zaimplementowana
koncepcjabewowejintegracjidwóchjykówoodmiennejkładni,emantycei
naturze diałania Zotały również tworone unikalne rowiąania wród jyków
apytao opartych na podejciu toowym Do nich należą: translacja apytao na
wyokowydajne natywne operacje rodowika wykonawcego Java, uniwersalny,
pryjanyużytkownikowioperatorortowania,oraz generycnodkolekcji Te oraz inne
zaimplementowane użytecnecechypowalająwykorytadtworonyjykapytao
jakorowiąaniewieluproblemówwiąanychpretwaraniemdanych
 
3
2.1.1
Opis .....................................................................................................................10
2.1.2
Krytyka ................................................................................................................10
2.2.1
Opis .....................................................................................................................11
2.2.2
Krytyka ................................................................................................................11
Opis .....................................................................................................................11
2.3.2
Krytyka ................................................................................................................11
3.2.1
Klasy ....................................................................................................................13
3.2.2
Pakiety.................................................................................................................14
3.2.3
Interfejsy .............................................................................................................14
3.2.4
Dziedziczenie.......................................................................................................14
3.2.5
Hermetyzacja ......................................................................................................14
3.2.6
Kolekcje ...............................................................................................................14
3.3.1
Maszyna wirtualna ..............................................................................................16
3.3.3
Refleksja ..............................................................................................................17
648110950.003.png
4
4.2.1
Model AS0 ...........................................................................................................19
4.2.2
Model AS1 ...........................................................................................................20
4.2.3
Model AS2 ...........................................................................................................20
4.2.4
Model AS3 ...........................................................................................................20
5.1.4
Poziomy abstrakcji ..............................................................................................23
5.1.5
Przetwarzanie kolekcji ........................................................................................24
6.2.1
Motywacje ..........................................................................................................27
6.3.1.1
Faza preprocesingu......................................................................................29
6.3.1.2
Faza kompilacji.............................................................................................30
6.3.1.3
Faza uruchomienia.......................................................................................30
6.3.3.1
Motywacje ...................................................................................................33
 
5
6.3.3.4
Kontrola typologiczna ..................................................................................36
6.3.4.1
Tryb interpretera .........................................................................................36
6.3.4.2
Generacja kodu Java ....................................................................................37
38
6.4.2
Obiekt..................................................................................................................39
6.4.3
Referencja ...........................................................................................................39
6.4.4
Klasa ....................................................................................................................40
6.4.5
Metoda................................................................................................................40
6.4.6
Konstruktor .........................................................................................................40
6.5.1.3
Operatory logiczne ......................................................................................42
6.5.1.4
Operator negacji logicznej ...........................................................................43
6.5.1.5
Operator sprawdzenia typu.........................................................................43
6.5.1.6
Operatory arytmetyczne .............................................................................44
6.5.1.7
Operator tworzenia bagu ............................................................................45
648110950.001.png
Zgłoś jeśli naruszono regulamin