Obiektowe bazy danych
|
|
- Kinga Szydłowska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Obiektowe bazy danych Wykład prowadzi: Tomasz Koszlajda Plan wykładu Model ODMG Język ODL Język ODL Język OQL Integracja obiektowej bazy danych z obiektowymi językami programowania Przykład obiektowej bazy danych - db4o 1
2 Model ODMG Standard ODMG składa się z czterech podstawowych części: Opis modelu obiektowego ODL -język definicji schematu obiektowej bazy danych OQL - obiektowy język zapytań wzorowany na SQL OML rozszerzenia obiektowych języków programowania: C++, Smalltalk i Java, do przetwarzania trwałych obiektów w obiektowych bazach danych Język definicji schematu - ODL Niezależny od obiektowych języków programowania język definiowania funkcjonalności obiektów składowanych w bazie danych. SQL 3 ODL C++ SQL 3 SmallTalk Java 2
3 ODL - Nagłówek klasy class Obraz : Medium, ElementGraficzny { (extent Obrazy key numer_ewidencyjny) ewidencyjny)...} Nazwa klasy: Obraz Lista nadklas: Medium, ElementGraficzny Definicja kolekcji: extent Obrazy Unikalność: key numer_ ewidencyjny y Definicja struktury wystąpień klasy Class Osoba { attribute Date data_ urodzenia; attribute enum Płeć (K, M) płeć; attribute struct Adres ( String miasto; String ulica; Int numer_domu;) adres; } class Firma ( attribute Osoba::Adres adres; } 3
4 Złożone struktury danych Collection<t> Set<t> Dictionary<t,v> Bag<t> List<t> Array<t> attribute set<string> języki_obce; attribute list<struct Adres (...)> adresy; attribute Osoba małżonek; Związki między danymi Osoba {persistence} +imię i : String +nazwisko : String +adres : Adres jest _ autorem [1..*] [1..*] Obraz {persistence} #utworzony : Date #elementy[1..*] : Figura +dodaj(figura) +utwórzkopię() jest_pierwowzorem [0..1] [0..*] relationship set<osoba> autorzy inverse Osoba::utworzył; relationship set<obraz> jestpierwowzorem inverse Obraz::jestModyfikacją; relationship set<obraz> jestmodyfikacją inverse Obraz:: jestpierwowzorem; typ związku nazwa związku związek odwrotny 4
5 Związki n-arne Brak związków n-arnych Brak atrybutów związków Modelowanie związków n-arnych lub atrybutów związków wymaga dodatkowej klasy - związku Pracownik {persistence} +nazwisko : String +etat : String +płaca : Float uczestniczy Uczestnictwo {persistence} +stawka : Float grupuje [0..*] [1..*] jestobsadzona [0..*] Funkcja {persistence} +nazwa : String +obowiązki : String Projekt {persistence} +nazwa : String +Budżet : Loat Transformacja związków n-arnych class Pracownik {... relationship set<uczestnictwo> uczestniczy inverse Uczestnictwo::uczestniczący;}; class Projekt {... relationship set<uczestnictwo> grupuje inverse Uczestnictwo::grupujący;}; class Funkcja {... relationship set<uczestnictwo> jestobsadzona inverse Uczestnictwo::obsadzona;}; class Uczestnictwo { //dodatkowa klasa związku attribute Float stawka; relationship Pracownik uczestniczący inverse Pracownik::uczestniczy; relationship Projekt grupujący inverse Projekt::grupuje; relationship Funkcja obsadzona inverse Funkcja::jestObsadzona;}; 5
6 Metody klasy Definicja klasy może zawierać nagłówki metod. Kody metod nie są częścią definicji klas. Nagłówek metody obejmuje: Typ zwrotny metody Nazwę metody Tryby (in, out, in out) i typy parametrów metody Wyjątki zgłaszane przez metodę void dodaj (in Figura fig) raises (NiewłaściwaFigura); Obraz utwórzkopię( ) raises (ZaDużoKopii); Kompletny przykład definicji klasy class Obraz { definicja klasy (extent Obrazy) definicja rozszerzenia attribute Date utworzony; część attribute set<figura> Elementy; } strukturalna relationship set<osoba> autorzy inverse Osoba::utworzył; } relationship set<obraz> jestpierwowzorem inverse Obraz::jestModyfikacją; relationship set<obraz> jestmodyfikacją inverse Obraz:: jestpierwowzorem; void dodaj (in Figura fig) związki } raises (NiewłaściwaFigura); część Obraz utwórzkopię( ) funkcjonalna raises (ZaDużoKopii); }; 6
7 Język OQL Deklaratywny język zapytań wzorowany na standardzie SQL92 Zgodny z modelem obiektów ODMG Występuje w wersji języka ad-hoc lub zagnieżdżanego w językach obiektowych Obejmuje tylko instrukcje zapytań Typy set<struct> i bag<struct> są równoważne relacjom select struct(liczba: count(*)) from f in Figury Rozszerzenie klasy where f.powierzchnia() > 100 Struktura wyników zapytań Wynikiem zapytań w języku OQL mogą być kolekcje dowolnie złożonych struktur danych select struct(t: w.typ, zw: ( select struct (wx: wr.x, wy: wr.y) from wr in wierzchołki) from w in Wielokąty Wynikiem zapytania jest wielozbiór danych o strukturze: struct<t:string,zw:bag<wx:float,wy:float>> Typ wielokąta Współrzędne wierzchołków wielokąta 7
8 Wyrażenia ścieżkowe Wyrażenia ścieżkowe umożliwiają nawigację wzdłuż powiązań między obiektami, w głąb struktur atrybutów złożonych lub wyników metod. x.a wartość atrybutu a x.r obiekt wskazywany przez związek r x.m wartość zwracana w wyniku wykonania metody m select struct(x1: o.w1.x, x2: o.w2.x) from o in Odcinki Ścieżka: o. W1. X Odcinki Punkty wierzchołki odcinków Float współrzędne punktu Wyrażenia ścieżkowe Wyrażenia ścieżkowe (za wyjątkiem ostatniego elementu ścieżki) mogą obejmować jedynie związki jednokrotne, atrybuty y jednowartościowe i metody zwracające pojedynczą wartość. select p.szef.adres.miasto.nazwa from p in Pracownicy OK select p.podwładni.adres.miasto.nazwa from p in Pracownicy Wartością jest zbiór pracowników. Atrybut adres nie jest cechą zbioru. 8
9 Przetwarzanie kolekcji obiektów Miejscem do przetwarzania kolekcji obiektów jest klauzula FROM. Elementy klauzuli FROM mają postać: zmienna IN kolekcja Kolekcja może być rozszerzeniem klasy lub wyrażeniem, którego wartością jest kolekcja, na przykład wyrażeniem ścieżkowym: podwł IN Pracownicy.podwładni Typy kolekcji: wielozbiór (bag) - domyślna zbiór - DISTINCT w klauzuli SELECT lista - klauzula ORDER BY Operacje połączenia Model ODMG obejmuje dwa rodzaje łączenia kolekcji obiektów Strukturalne - przez jawne związki miedzy obiektami i select struct(n: os.nazwisko,d: obr.utworzony) from os in Osoby, obr in os.utworzyła Dynamiczne - przez zależności między wartościami atrybutów obiektów select struct(n1: o1.nazwisko,n2: o2.nazwisko) from o1 in Osoby, o2 in Osoby where o1.adres.miasto = o2.adres.miasto and o1!= o2 9
10 Wywoływanie metod Język OQL pozwala na wywoływanie metod, wymagając jedynie zgodności typu danych wynikowych metody z typem oczekiwanym przez zapytanie. Składnia zapytań pozwala nie rozróżniać nazw atrybutów od metod bezargumentowych. Metoda bezparametrowa select o.najstarsze_dziecko.adres.ulica adres from Osoby o where o.mieszka_w("poznań") Metoda z parametrem Polimorfizm i dynamiczne wiązanie Język OQL pozwala wykonywać zapytania na polimorficz- nych kolekcjach k obiektów. Dla tej klasy zapytań jest dostępne dynamiczne wiązanie nazw metod obiektów. select f.powierzchnia() from f in Figury zmienna polimorficzna wielokąt::powierzchnia( ) koło::powierzchnia( () dynamiczne wiązanie 10
11 Wymuszenie zmiany typu Struktura o jednym atrybucie może być przekształcona w pojedynczą wartość. struct(pracownik:nazwisko) -> nazwisko Kolekcja o jednym elemencie może być przekształcona w ten element. element(set(1)) -> 1 Integracja języków obiektowych z OODB Potencjalne rozwiązania: Rozszerzenie proceduralnego języka obiektowego o nowe cechy konieczność stosowania prekompilatorów Modyfikacja kodu wynikowego generowanego przez klasyczne kompilatory zastosowanie post- kompilatorów Rozszerzenie biblioteki o wyspecjalizowane systemowe klasy generyczne 11
12 ODMG - C++ jako język bazy danych Założenia do implementacji rozszerzeń języka C++ jako języka dostępu do bazy danych: Jeden spójny system typów danych w języku programowania i języku dostępu do bazy danych. Wystąpienia typów mogą być ulotne lub trwałe. Specyficzne konstrukcje ODL/OML uwzględniają składnię i semantykę bazowego języka programowania. Rozwiązanie: Zamiast zastosowania pre- lub post-kompilatorów, wykorzystanie mechanizmu klas generycznych (wzorców). C++ jako język bazy danych Deklaracje ODL Kod C++ z OML Preprocesor deklaracji Nagłówki C++ Kompilator C++ Kod wynikowy Metadane Baza danych ODBMS Runtime trwałe obiekty Linker Aplikacja 12
13 ODMG - C++ jako język bazy danych Klasy obiektów potencjalnie trwałych są wywodzone z systemowej klasy d_object. Jej funkcjonalność obejmuje konstruktory i destruktor obiektów trwałych oraz specjalne metody do aktywacji i deaktywacji obiektów. Obiekty trwałe muszą być tworzone dynamicznie i przypisywane specjalnym wskaźnikom, zdefiniowanym w oparciu o wystąpienie klasy wzorca d_ref<t>. Cykl życia obiektu Baza danych PAO deactivate activate deactivate activate Aplikacja PAO C++ jako język bazy danych - przykład // definicja klasy obiektów potencjalnie trwałych class Wykładowca : public d_object {...}; // tworzenie obiektu ulotnego Wykładowca prof = new Wykładowca(); // wskaźnik obiektu trwałego d_ref<wykładowca> tprof; // tworzenie obiektu trwałego tprof = new Wykładowca(myDB, "Wykładowca"); tprof->przypiszdyplomanta(studentnowak);... tprof.delete_object(); 13
14 ODMG Kolekcje obiektów w C++ Kolekcje są zaimplementowane jako wystąpienia klas wzorców. // wzorzec kolekcji - zbiór template<class T> class d_set : public d_collection<t> {...}; class Student : public d_object {...}; // trwała kolekcja trwałych wystąpień klasy Student d_ref<d_set<d_ref<student>>> TPD; <d_set<string>> języki_obce; d_ref<student> d t> nowak; // dodanie elementu do zbioru TPD>insert_element(nowak); TPD+=SKiSR; języki_obce->insert_element("angielski"); Powiązania obiektów w C++ Związki o krotności 1: template<class T, const char* m) class d_rel_ref : public dref<t> {...}; Związki o krotności N: template<class T, const char* m) class d_rel_set : public d_set<dref<t>> {...}; class Pracownik {... d_ Rel_ dref<wydział,"zatrudnia"> pracuje _ na; }; class Wydział {... d_rel_set<pracownik,"pracuje_na"> zatrudnia; }; 14
15 ODMG Powiązania obiektów w C++ // zdefiniowane obiekty Nowak, Tarzan, marketing // utworzenie dwukierunkowego związkuą Nowak->pracuje_na = &marketing; // usunięcie dwukierunkowego związku Nowak->pracuje_na.clear(); // dodania powiązania dla związku wielokrotnego marketing->zatrudnia.insert_element(&tarzan); // zamiana powiązania w związku wielokrotnym marketing->zatrudnia.replace_element(&nowak, &Tarzan); // usunięcie powiązania ze związku wielokrotnego marketing->zatrudnia.remove_element(&nowak); Przykład obiektowej bazy danych db4o Projekt Open Source Uproszczenie architektury systemu bazy danych Dostępne różne architektury aplikacji Różne języki dostępu: QBE, SODA, Native Query Language Skalowalność Wielo platformowość Java,.Net, VBA Wydajność dla zapytań specyficznych dla obiektowych baz danych 15
16 Prostota budowy aplikacji // zdefiniowanie klasy public class Pracownik { public Pracownik(String nazwisko, String etat, float placa)...} // otworzenie bazy danych String bd = "BazaDanych"; ObjectContainer db = Db4o.openFile(bd); Pracownik p=new Pracownik("Tarzan","Prezes",25000); // składowanie a obiektu w bazie danych db.set(p); // zamknięcie bazy danych db.close(); Klasa: Object Container Klasa object Container reprezentuje system bazy danych Obsługuje ona dostęp do lokalnego, prywatnego pliku danych Wspiera transakcyjne przetwarzanie danych Zarządza referencjami do obiektów przechowywyanych w bazie danych Zapewnia wydajne przetwarzanie danych w bazie danych 16
17 Schemat bazy danych Definicje klas w aplikacji = schemat bazy danych // zdefiniowanie klasy public class Pracownik { public Pracownik(String nazwisko, String etat, float placa)}... Pracownik p=new Pracownik("Tarzan","Prezes",25000); // Jeżeli jest to pierwszy obiekt klasy Pracownik // składowany w bazie danych, do schematu bazy danych // dodawana jest definicja klasy Pracownik db.set(p); Hierarchia rozszerzeń klas Wystąpienia podklas tworzą podzbiór wystąpienia nadklas class Kierownik extends Pracownik {...} Kierownik k = new Kierownik("Kowalski", ); db.set(k);... // Kowalski będzie umieszczony w wyniku zapytania ObjectSet wynik = db.get(pracownik.class); 17
18 Języki zapytań w db4o System bazy danych db4o oferuje trzy różne języki zapytań: QBE Query By Example SODA Simple Object Database Access NativeQuery Preferowane własności języków zapytań: 1. Czyste języki obiektowe 2. Statyczna weryfikacja typów danych 3. Jednorodność języka aplikacji 4. Systemowa optymalizacja zapytań Język zapytań QBE Prosty język zapytań QBE Query by Example Wymaga utworzenia obiektu, który będzie wzorcem dla zapytania // wyszukiwanie obiektów - QBE Pracownik p=new Pracownik(null,"Prezes",0.0f); // nie można pytać o wartości: null, 0, ObjectSet wynik = db.get(p); // obiektem wzorcowym może być klasa wynik = db.get(pracownik.class); Nie umożliwia definiowania złożonych warunków zapytań: AND, OR, NOT. Konstruktor obiektu musi umożliwić tworzenie obiektu bez zainicjowanych atrybutów : null, "". 18
19 Język zapytań SODA Simple Object Database Access Język SODA umożliwia definiowanie złożonych zapytań w postaci drzew, których węzłami są warunki selekcji. Funkcjonalność języka zapytań jest zaimplementowana w trzech klasach: Constraint, Constraints i Query Funkcjonalność klasy Constraint obejmuje następujące operacje: and (Constraint) like ( ) constains ( ) not ( ) equal ( ) or (Constraint) greater ( ) smaller ( ) identity ( ) Język zapytań SODA Simple Object Database Access Query query=db.query(); // określenie klasy zapytania query.constrain(pracownik.class); // określenie warunku prostego Constraint warunek = query.descend("placa").constrain(5000).greater(); // określenie drugiego warunku prostego // i złożenie warunków query.descend("etat").constrain("prezes").or(warunek); // wykonanie zapytania ObjectSet wynik=query.execute(); execute(); System.out.println(wynik.size()); while(wynik.hasnext()) { Pracownik znaleziony = (Pracownik) wynik.next(); System.out.println(znaleziony); } 19
20 Język zapytań SODA drzewo zapytania Query query=db.query(); query.constrain(pracownik.class); query.descend ("placa").constrain(5000).greater().or (descend("etat").constrain("prezes")) "płaca" OR Klasa: Pracownik.class "etat" greater: 5000 "Prezes" Języki zapytań w obiektowych bazach danych OQL String oql = "select * from o in Osoby where p.wiek < 20"; OQLQuery query = new OQLQuery(oql); Object osoba = query.execute(); JDOQL Query query = persistencemanager.newquery(osoba.class, wiek < 20"); Collection osoby = (Collection)query.execute(); db4o SODA C# Query query = database.query(); query.constrain(typeof(osoba)); query.descend( wiek").constrain(20).smaller(); IList osoby = query.execute(); 20
21 Języki zapytań w obiektowych bazach danych Brak syntaktycznej i semantycznej weryfikacji zapytań Wymagany dostęp do prywatnych atrybutów klas Brak wsparcia dla refaktoryzacji Brak wsparcia dla wielokrotnego użytku: wywoływania metod, polimorfizmu, redefinicji Nieodporność na ataki typu wstrzykiwanie kodu Java Osoba.wiek() < 20 Brak systemowej optymalizacji zapytań dla dużych zbiorów danych Brak skalowalności Założenia języka zapytań NativeQuery W Java JDK 5 wymaga zdefiniowania klasy dziedziczącej po generycznej klasie Predicate i zaimplementowaniu w niej abstrakcyjnej metody Match. class Prezesi<T> extends Predicate<T> { float min, max; Prezesi(float n, float x) { min = n; max = x;} public boolean match(pracownik prac) { // klasa obiektów return prac.etat().equals("prezes") (prac.placa() > min && prac.placa() < max);}; } }; Prezesi pred = new Prezesi (10000, 25000); ObjectSet sp=db.query(pred); 21
22 Język zapytań NativeQuery Konwencja zapytania ad-hoc ObjectSet sp=db.query(new Predicate<Pracownik>() // dziedziczenie i redefinicja metody match { public boolean match(pracownik prac) { return prac.weznazwisko().equals("tarzan") (prac.placa() > 4500 && prac.placa() < 10000);}; } ); Definicja anonimowej klasy dziedziczącej po klasie Predicate Język zapytań NativeQuery Wyrażenia ścieżkowe w NativeQuery ObjectSet sp=db.query(new Predicate<Pracownik>() // dziedziczenie i redefinicja metody match { public boolean match(pracownik prac) { return prac.zespol().nazwa().equals( Zarząd"); } ); 22
23 Język zapytań NativeQuery C# Zastosowanie typu danych delegate ObjectSet sp=db.query<pracownik> ( delegate Pracownik p) // definicja operacji uruchamianej jako delegate p { return prac.weznazwisko().equals("tarzan") (prac.placa() > 4500 && prac.placa() < 10000); } ); Usuwanie i modyfikacja obiektów Pracownik p=new Pracownik(null,null, ); ObjectSet wynik = db.get(p); while(wynik.hasnext()) hasnext()) { Pracownik prac=(pracownik)wynik.next(); // usunięcie db.delete(prac); }... while(wynik.hasnext()) { kopia obiektu Pracownik prac=(pracownik)wynik.next(); // modyfikacja obiektu na podstawie jego OID prac.podniesplace(1500); db.set(prac); // uspójnienie kopii z oryginałem } 23
24 Powiązania między danymi System db4o respektuje związki między obiektami zdefiniowanymi w aplikacji public class Pracownik {... private Pracownik szef; private Set<Pracownik> podwladni; public Pracownik(String nazwisko,string etat){ this.podwladni= new HashSet<Pracownik>(); } public void dodajpodwladnego(pracownik pod) { this.podwladni.add(pod); }} Składowanie złożonych obiektów Metoda set gwarantuje niejawne zapisanie do bazy danych wszystkich powiązanych ą obiektów Pracownik p=new Pracownik("Tarzan","Prezes",25000); Zespol z=new Zespol("Zarząd"); // Przypisanie pracownikowi zespołu p.przypisz_zespol(z); // Składowanie obiektów w bazie danych db.set(p); // W bazie danych znajdą się wszystkie // powiązane obiekty 24
25 Odczyt powiązanych obiektów Odczyt z bazy danych obiektu, który ma powiązania ą z innymi obiektami powoduje automatyczny odczyt powiązanych obiektów, dla ich natychmiastowego użycia Kaskadowe usuwanie obiektów złożonych Usunięcie z bazy danych obiektu, który ma powiązania z innymi obiektami może wymagać usunięcia tych obiektów semantyka związku kompozycji W tym celu, należy wykonać na klasie obiektu złożonego metodę cascadeondelete( ) Głębokość kaskadowego usuwania może być konfigurowana za pomocą metody: set(object, depth) 25
26 Transakcyjność db4o Przetwarzanie danych w db4o ma charakter transakcyjny. Niejawnym rozpoczęciem transakcji jest otwarcie bazy danych. Niejawnym zakończeniem jest zamknięcia bazy danych. Funkcjonalność bazy danych obejmuje jawne zatwierdzanie i wycofywanie transakcji. String bd = "BazaDanych"; ObjectContainer db = Db4o.openFile(bd); Pracownik p=new Pracownik("Tarzan","Prezes",25000); "Prezes" // składowanie obiektu w bazie danych db.set(p); // wycofanie transakcji db.rollback(); Architektura systemu db4o 26
27 Architektura aplikacji db4o Pojedyncza aplikacja zintegrowana z plikiem danych Aplikacja db4o Plik danych // otworzenie bazy danych String bd = "BazaDanych"; ObjectContainer db = Db4o.openFile(bd); Pracownik p=new Pracownik("Tarzan","Prezes"); // niejawne zdefiniowanie schematu i // składowanie obiektu w bazie danych db.set(p); // zamknięcie bazy danych db.close(); Architektura aplikacji db4o Lokalny serwer bazy danych Aplikacja db4o Serwer db4o Baza danych String bd = "BazaDanych"; ObjectServer server = Db4o.openServer(db,0); // port = 0, serwer lokalny try { // otwarcie klienta ObjectContainer client=server.openclient();... client.close(); } finally { server.close(); } 27
28 Architektura aplikacji db4o Architektura klient - serwer Aplikacja db4o sieć Serwer db4o Baza danych String bd = "BazaDanych"; // port <> 0, serwer zdalny ObjectServer server=db4o.openserver(db,1521); server.grantaccess("user","password"); // otwarcie klienta ObjectContainer client=server.openclient( "localhost",port,user,password );... client.close(); server.close(); Wydajność Benchmark OO7 Benchmark Pole Position Barcelona circuit Barcelona circuit 100 zapytań na obiektów o 5 poziomach dziedziczenia 28
29 Producenci OODBS db4objects Objectivity/DB it Progress ObjectStore Enterprise Versant Object Database, FastObject.Net GemStone/S, Gemstone Facets EyeDB GNU Open Source 29
Obiektowe bazy danych
Obiektowe bazy Obiektowy model Wykład prowadzi: Tomasz Koszlajda Plan wykładu Przesłanki dla nowej generacji systemów baz Podstawowe elementy obiektowego modelu Konstruktory złożonych typów Abstrakcyjne
Bardziej szczegółowoObiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych
Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych W ramach niniejszego wykładu zostaną
Bardziej szczegółowoWprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Bardziej szczegółowoPost-relacyjne bazy danych
Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)
Bardziej szczegółowoObiektowe bazy danych
Obiektowe bazy danych Obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowo-relacyjne bazy danych Ewolucja rozszerzeń relacyjnego modelu danych: Składowanie kodu procedur w bazie
Bardziej szczegółowoObiektowe bazy danych
Obiektowe bazy danych Obiektowy model danych Wykład prowadzi: Tomasz Koszlajda Obiektowe bazy danych Obiektowy model danych Tematyka obiektowych baz danych obejmuje trzy jednostki wykładowe. Pierwszy wykład
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoObiektowe i obiektowo-relacyjne. bazy danych
Obiektowe i obiektowo-relacyjne bazy danych Plan wykładu 1. ODBMS 2. ORDBMS 3. SQL3 Typy 4. Źródła ODBMS Obiektowy system zarządzania baza danych jest systemem opartym na modelu obiektowym wspomagającym
Bardziej szczegółowoSBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009
SBQL język zapytań dla obiektowych baz danych Kamil Adamczyk Uniwersytet Warszawski 20.IV.2009 Spis treści 1. Wstęp 2. Obiektowe bazy danych Model danych Języki zapytań Dostępne produkty 3. Sbql Główne
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoProgramowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Bardziej szczegółowoBAZY DANYCH model obiektowy. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH model obiektowy Opracował: dr inż. Piotr Suchomski Wprowadzenie Relacyjny model danych jest zbyt płaski i prosty do reprezentacji danych o bardziej skomplikowanej i nieregularnej strukturze
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Bardziej szczegółowoPaweł Kurzawa, Delfina Kongo
Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoDziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.
Dziedziczenie Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasy Student oraz Pracownik: class Student class Pracownik
Bardziej szczegółowoSzablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Bardziej szczegółowoKurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Bardziej szczegółowoDziedziczenie. Tomasz Borzyszkowski
Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.
Bardziej szczegółowoProgramowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
Bardziej szczegółowoProgramowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoProgramowanie obiektowe
Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowopublic - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:
Klasy Metody [ModyfikatorMetody] TypZwrotny Nazwa (Typ arg1, ) { // implementacja metody ModyfikatorMetody może być kombinacją wyrażeń: modyfikator widzialności public dostępna dla metod spoza klasy protected
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoModelowanie obiektowe
Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle
Bardziej szczegółowoInformacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Bardziej szczegółowoPolimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Bardziej szczegółowoMateriały do zajęć VII
Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja
Bardziej szczegółowoZaawansowane programowanie w języku C++ Klasy w C++
Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowo> C++ dziedziczenie. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki
> C++ dziedziczenie Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1432108800 > Dziedziczenie Dziedziczenie C++ dziedziczenie 2 / 13 > Dziedziczenie Dziedziczenie * to
Bardziej szczegółowoPlan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone
Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy
Bardziej szczegółowoTypy metod: konstruktory, destruktory, selektory, zapytania, iteratory.
Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Konstruktory Konstruktory w językach obiektowych są to specjalne metody wywoływane podczas tworzenia nowego obiektu i służące do
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie
Bardziej szczegółowoObiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 14 Piotr Syga 18.01.2019 Motywacja Ograniczenia relacyjnych baz danych proste typu i struktury klucze (w tym sztuczne) relacje między tabelami uwzględniane w triggerach
Bardziej szczegółowoJęzyki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Bardziej szczegółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoWstęp do programowania obiektowego. Wykład 2
Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoJęzyk C++ Programowanie obiektowe
Język C++ Programowanie obiektowe Cechy programowania obiektowego abstrakcyjne typy danych hermetyczność obiektów (kapsułkowanie) dziedziczenie polimorfizm Programowanie proceduralne vs. programowanie
Bardziej szczegółowoProgramowanie w Ruby
Programowanie w Ruby Wykład 6 Marcin Młotkowski 14 listopada 2012 Plan wykładu Trwałość obiektów Bazy danych DBM Bazy danych SQL Active records Szeregowanie obiektów Obiekt Serializacja @tytul = 'Pan Tadeusz'
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoPolimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
Bardziej szczegółowoTemat : SBQL 1 obiektowy język zapytań.
Laboratorium Języki i środowiska przetwarzania danych rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu
Bardziej szczegółowoProgramowanie obiektowe
Wykład 12 Marcin Młotkowski 16 maja 2018 Plan wykładu 1 Analiza obiektowa Dziedziczenie Dziedziczenie a składanie 2 Marcin Młotkowski 482 / 537 Dziedziczenie Dziedziczenie a składanie Plan wykładu 1 Analiza
Bardziej szczegółowoZaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce
Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoPakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Bardziej szczegółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowoLaboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
Bardziej szczegółowoMAS dr. Inż. Mariusz Trzaska. Realizacja różnych modeli dziedziczenia w obiektowych językach programowania
MAS dr. Inż. Mariusz Trzaska Wykład 10 Realizacja różnych modeli dziedziczenia w obiektowych językach programowania Zagadnienia o o o o o o Omówienie różnych rodzajów dziedziczenia, klas abstrakcyjnych
Bardziej szczegółowoModelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne
Bardziej szczegółowoKlasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np
Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami
Bardziej szczegółowoProgramowanie w Internecie. Java
Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoMongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska
MongoDB wprowadzenie dr inż. Paweł Boiński, Politechnika Poznańska Plan Historia Podstawowe pojęcia: Dokument Kolekcja Generowanie identyfikatora Model danych Dokumenty zagnieżdżone Dokumenty z referencjami
Bardziej szczegółowoJęzyki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003
Bardziej szczegółowoZaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoJava Język programowania
Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja
Bardziej szczegółowoProgramowanie wielowarstwowe i komponentowe
Programowanie wielowarstwowe i komponentowe HIBERNATE CD. Rodzaje relacji Jeden do wielu Pojedyncza Osoba ma wiele Wpisów Wiele do jednego Wiele Wpisów należy do jednej Osoby Jeden do jednego Pojedyncza
Bardziej szczegółowoInformatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017
Informatyka I BAZY DANYCH dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Plan wykładu Definicja systemu baz danych Modele danych Relacyjne bazy danych Język SQL Hurtownie danych
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoCzęść I Tworzenie baz danych SQL Server na potrzeby przechowywania danych
Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...
Bardziej szczegółowo1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Bardziej szczegółowoSzablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Bardziej szczegółowoAbstrakcyjny typ danych
Abstrakcyjny typ danych Abstrakcyjny Typ Danych (abstract data type-adt): zbiór wartości wraz z powiązanymi z nimi operacjami; operacje są zdefiniowane w sposób niezależny od implementacji; operacje są
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Klasy i obiekty Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2011 1 / 13 Typy danych (w Javie) Typy pierwotne typ wartości
Bardziej szczegółowo