MAS dr. Inż. Mariusz Trzaska. Realizacja asocjacji w obiektowych językach

Wielkość: px
Rozpocząć pokaz od strony:

Download "MAS dr. Inż. Mariusz Trzaska. Realizacja asocjacji w obiektowych językach"

Transkrypt

1 MAS dr. Inż. Mariusz Trzaska Wykład 9 Realizacja ascjacji w biektwych językach prgramwania (2)

2 Ciąg dalszy pprzednieg wykładu Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 2

3 Zagadnienia Wstęp teretyczny Implementacja ascjacji: Przy pmcy identyfikatrów, Krzystając z natywnych referencji. Implementacja ascjacji: ze względu na licznści, binarnych, z atrybutem, kwalifikwanych, n-arnych, Implementacja agregacji, Implementacja kmpzycji, Uniwersalne zarządzanie ascjacjami, Pdsumwanie Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 3

4 * Implementacja ascjacji n-arnej Najpierw musimy zamienić: jedną knstrukcję UML (ascjacja n-arną) na inną knstrukcję UML (n ascjacji binarnych raz klasę pśredniczącą). Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 4

5 Implementacja ascjacji n-arnej (2) Dzięki zastąpieniu ascjacji n-arnej, ascjacjami binarnymi raz klasą pśredniczącą trzymaliśmy n zwykłych ascjacji. Nwe ascjacje implementujemy na jeden ze znanych spsbów. Prblemy z semantyką Nazwa nwej klasy, Nazwy ról ascjacji: starych raz nwych, Licznści ascjacji. Utrudniny dstęp d biektów dcelwych (pprzez biekt klasy pśredniczącej) Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 5

6 Implementacja agregacji Czy zastswanie agregacji niesie jakieś knsekwencje dla zaangażwanych biektów? Nie! W związku z pwyższym agregacje implementujemy dkładnie tak sam jak klasyczne ascjacje. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 6

7 Implementacja kmpzycji Część ascjacyjna realizwana na dtychczaswych zasadach. Prblemy d rzwiązania: 1. Blkwanie samdzielneg twrzenia części, 2. Zakazanie współdzielenia części, 3. Usuwanie części przy usuwaniu całści. Mżliwe dwa pdejścia: Zmdyfikwanie istniejąceg rzwiązania, Wykrzystanie klas wewnętrznych. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 7

8 Implementacja kmpzycji (2) 1. Blkwanie samdzielneg twrzenia części (istnienia części bez całści), Prywatny knstruktr, Dedykwana metda (klaswa): pbierająca referencję d całści (i sprawdzająca czy jest na prawidłwa), twrząca biekt części, ddające infrmacje pwiązaniu zwrtnym. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 8

9 Implementacja kmpzycji (3) public class Czesc { public String nazwa;// public - dla uprszczenia private Calsc calsc; private Czesc(Calsc calsc, String nazwa) { this.nazwa = nazwa; this.calsc =calsc; public static Czesc utwrzczesc(calsc calsc, String nazwa) thrws Exceptin { if(calsc == null) { thrw new Exceptin("Calsc nie istnieje!"); // Utwcz nwa czesc Czesc cz = new Czesc(calsc, nazwa); // Ddaj d calsci calsc.ddajczesc(cz); return cz; Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 9

10 Implementacja kmpzycji (4) public class Calsc { private Vectr<Czesc> czesci = new Vectr<Czesc>(); private String nazwa; public Calsc(String nazwa) { this.nazwa = nazwa; public vid ddajczesc(czesc czesc) { if(!czesci.cntains(czesc)) { czesci.add(czesc); public String tstring() { String inf = "Calsc: " + nazwa + "\n"; fr(czesc cz : czesci) { inf += " " + cz.nazwa + "\n"; return inf; Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 10

11 Implementacja kmpzycji (5) 2. Zakazanie współdzielenia części Zmdyfikwana wersja metdy ddającej część Sprawdzająca czy dana część nie jest już gdzieś ddana, Oprócz ddawania infrmacji pwiązaniu z pdaną częścią, zapamiętuje (glbalnie) fakt, że dana część jest już pwiązana z całścią. Atrybut klaswy przechwujący infrmacje wszystkich częściach pwiązanych z całściami. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 11

12 Implementacja kmpzycji (6) Specjalna wersja metdy ddającej część public class Calsc { private Vectr<Czesc> czesci = new Vectr<Czesc>(); private static HashSet<Czesc> wszystkieczesci = new HashSet<Czesc>(); // [...] public vid ddajczesc(czesc czesc) thrws Exceptin { if(!czesci.cntains(czesc)) { // Sprawdz czy ta czesc nie zstala ddana d jakiejs calsci if(wszystkieczesci.cntains(czesc)) { thrw new Exceptin("Ta czesc jest juz pwiazana z calscia!"); czesci.add(czesc); // [...] // Zapamietaj na liscie wszystkich czesci (przeciwdziala wspldzielniu czesci) wszystkieczesci.add(czesc); Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 12

13 Implementacja kmpzycji (7) 3. Usuwanie części przy usuwaniu całści. W językach typu Java raz C# nie ma mżliwści ręczneg usuwania biektu, biekt jest usuwany przez VM gdy nie jest siągalny (nie ma d nieg żadnych referencji). W C++ mamy mżliwść ręczneg usunięcia biektu. Plecenia usunięcia części wart umieścić w destruktrze. Dzięki temu całść jest w miarę zautmatyzwana. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 13

14 Implementacja kmpzycji (8) 3. Usuwanie części przy usuwaniu całści c. d. W przypadku naszej implementacji, wart: Stwrzyć metdę (klaswą) usuwającą całść z ekstensji, Pwyższa metda pwinna również zadbać usunięcie infrmacji z glbalnej listy części (przeciwdziałającej współdzieleniu). Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 14

15 Implementacja kmpzycji przy pmcy klas wewnętrznych Obiekt klasy wewnętrznej nie mże istnieć bez (taczająceg g) biektu klasy zewnętrznej. Obiekt klasy wewnętrznej ma bezpśredni dstęp d inwariantów biektu klasy zewnętrznej. Pniższy kd nie wywłuje błędu, ale jeg efekt nie jest taki jaki byśmy chcieli. Obiekt klasy wewnętrznej (Czesc Czesc) ma dstęp d biektu klasy zewnętrznej (Calsc) t dbrze, Obiekt klasy zewnętrznej (Calsc Calsc) nic nie wie, że utwrzn biekt klasy wewnętrznej (Czesc) a t już bardz źle. // Bledny efekt: utwrzenie nwej czesci w kntekscie istniejacej calsci, // ale bez infrmwania tym calsci. Calsc.Czesc cz = c1.new Czesc("Czesc 02"); Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 15

16 Implementacja kmpzycji przy pmcy klas wewnętrznych (2) Aby temu przeciwdziałać: klasa wewnętrzna pwinna mieć prywatny knstruktr, klasa zewnętrzna musi dstarczać dedykwaną metdą zapewniającą właściwe utwrzenie biektów-części. Należy ręcznie zadbać : Blkwanie współdzielenia części. Część zawsze jest płączna tylk z jednym biektem-całścią. Niemniej, mże się zdarzyć, że różne całści byłyby płączne (pkazywałyby na) z tą samą częścią. Usuwanie części przy usuwaniu całści (pdbnie jak w przypadku pprzednieg spsbu implementacji kmpzycji). Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 16

17 Implementacja kmpzycji przy pmcy klas public class Calsc { private String nazwacalsci; wewnętrznych (3) private Vectr<Czesc> czesci = new Vectr<Czesc>(); public Calsc(String nazwa) { nazwacalsci = nazwa; public Czesc utwrzczesc(string nazwa) { Czesc czesc = new Czesc(nazwa); czesci.add(czesc); return czesc; // Klasa wewnetrzna czesc. public class Czesc { private String nazwaczesci; // Ze wzgledu na specyfike klas wewnetrznych, nie ptrzebujemy referencji pkazujacej na calsc. public Czesc(String nazwa) { nazwaczesci = nazwa; Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 17

18 Zarządzanie ascjacjami Przedstawine spsby implementacji zarządzania ascjacjami będą (prawie) takie same dla każdej bizneswej klasy w systemie. C więcej, będą (prawie) takie same dla każdej ascjacji nawet w tej samej klasie. Czy da się t jakś zunifikwać? Aby nie pisać wiele razy (prawie) teg sameg kdu? Oczywiście pdbnie jak przy kazji zarządzania ekstensją, wykrzystamy dziedziczenie istniejące w języku Java. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 18

19 Uniwersalne zarządzanie ascjacjami Przy kazji zarządzania ekstensją stwrzyliśmy nwa klasę ObjectPlus. Aby nie stracić zawartej tam funkcjnalnści, stwrzymy nwą klasę ObjectPlusPlus dziedziczącą z ObjectPlus. Dzięki temu, istniejącą funkcjnalnść w zakresie ekstensji, uzupełnimy ułatwienia w zarządzaniu ascjacjami. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 19

20 Uniwersalne zarządzanie ascjacjami (2) Stwrzymy klasę z której będą dziedziczyć wszystkie bizneswe klasy w naszej aplikacji. Nazwijmy ją ObjectPlusPlus i wypsażmy w funkcjnalnść ułatwiającą zarządzanie: zwykłymi ascjacjami binarnymi, ascjacjami kwalifikwanymi, kmpzycjami (częściw tylk warunek nr 2). Zastsujemy drugie z mawianych pdejść d implementacji ascjacji: w parciu referencje. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 20

21 Uniwersalne ascjacje Pnieważ wszystkie ascjacje w ramach jedneg biektu będą przechwywane w jednej klekcji, nie mżemy zastswać zwykłeg pjemnika typu Vectr czy ArrayList. Użyjemy kntenera przechwująceg klucze i wartści: Kluczem będzie nazwa rli ascjacji, Wartścią mapa zawierająca: Klucz będący kwalifikatrem. Gdy nie chcemy użyć ascjacji kwalifikwanej, kwalifikatr będzie tżsamy z biektem dcelwym. Wartść - referencje d knkretneg pwiązania. Atrybut klaswy przechwujący cy referencje d wszystkich biektów ddanych jak części, umżliwi pilnwanie warunku nr 2 dtycząceg kmpzycji (brak współdzielenia), Innymi słwy, ten nwy kntener będzie zawierał pwiązania istniejące w ramach wielu ascjacji. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 21

22 Uniwersalne ascjacje (2) :Aktr Arnld Schwarzenegger Rla A :Film Terminatr 1 Hashtable<String, HashMap<Object, ObjectPlusPlus>> Aktrzy Rla B Grupa Rla C Rla D HashMap<Object, ObjectPlusPlus> Kwalifikatr Kwalifikatr Kwalifikatr HashMap<Object, ObjectPlusPlus> Kwalifikatr Kwalifikatr Kwalifikatr Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 22

23 Klasa ObjectPlusPlus public class ObjectPlusPlus extends ObjectPlus implements Serializable { /** * Przechwuje infrmacje wszystkich pwiazaniach teg biektu. */ private Hashtable<String, HashMap<Object, ObjectPlusPlus>> pwiazania = new Hashtable<String, HashMap<Object, ObjectPlusPlus>>(); /** * Przechwuje infrmacje wszystkich czesciach pwiazanych z ktrymklwiek z biektw. */ private static HashSet<ObjectPlusPlus> wszystkieczesci = new HashSet<ObjectPlusPlus>(); /** * Knstruktr. * */ public ObjectPlusPlus() { super(); // [...] Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 23

24 Klasa ObjectPlusPlus (2) public class ObjectPlusPlus extends ObjectPlus implements Serializable { // [...] private vid ddajpwiazanie(string nazwarli, String dwrtnanazwarli, ObjectPlusPlus biektdcelwy, Object kwalifikatr, int licznik) { HashMap<Object, ObjectPlusPlus> pwiazaniaobiektu; if(licznik < 1) { return; if(pwiazania.cntainskey(nazwarli)) { // Pbierz te pwiazania pwiazaniaobiektu = pwiazania.get(nazwarli); else { // Brak pwiazan dla takiej rli ==> utwrz pwiazaniaobiektu = new HashMap<Object, ObjectPlusPlus>(); pwiazania.put(nazwarli, pwiazaniaobiektu); if(!pwiazaniaobiektu.cntainskey(kwalifikatr)) { // Ddaj pwiazanie dla teg biektu pwiazaniaobiektu.put(kwalifikatr, biektdcelwy); // Ddaj pwiazanie zwrtne biektdcelwy.ddajpwiazanie(dwrtnanazwarli, nazwarli, this, this, licznik - 1); Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 24

25 Klasa ObjectPlusPlus (3) public class ObjectPlusPlus extends ObjectPlus implements Serializable { // [...] public vid ddajpwiazanie(string nazwarli, String dwrtnanazwarli, ObjectPlusPlus biektdcelwy, Object kwalifikatr) { ddajpwiazanie(nazwarli, dwrtnanazwarli, biektdcelwy, kwalifikatr, 2); public vid ddajpwiazanie(string nazwarli, String dwrtnanazwarli, ObjectPlusPlus biektdcelwy) { ddajpwiazanie(nazwarli, dwrtnanazwarli, biektdcelwy, biektdcelwy); public vid ddajczesc(string nazwarli, String dwrtnanazwarli, ObjectPlusPlus biektczesc) thrws Exceptin { // Sprawdz czy ta czesc juz gdzies nie wystepuje if(wszystkieczesci.cntains(biektczesc)) { thrw new Exceptin("Ta czesc jest już pwiazana z jakas calscia!"); ddajpwiazanie(nazwarli, dwrtnanazwarli, biektczesc); // Zapamietaj ddanie biektu jak czesci wszystkieczesci.add(biektczesc); // [...] Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 25

26 Klasa ObjectPlusPlus (4) public class ObjectPlusPlus extends ObjectPlus implements Serializable { // [...] public ObjectPlusPlus[] dajpwiazania(string nazwarli) thrws Exceptin { HashMap<Object, ObjectPlusPlus> pwiazaniaobiektu; if(!pwiazania.cntainskey(nazwarli)) { // Brak pwiazan dla tej rli thrw new Exceptin("Brak pwiazan dla rli: " + nazwarli); pwiazaniaobiektu = pwiazania.get(nazwarli); return (ObjectPlusPlus[]) pwiazaniaobiektu.values().tarray(new ObjectPlusPlus[0]); public vid wyswietlpwiazania(string nazwarli, PrintStream stream) thrws Exceptin { HashMap<Object, ObjectPlusPlus> pwiazaniaobiektu; if(!pwiazania.cntainskey(nazwarli)) { // Brak pwiazan dla tej rli thrw new Exceptin("Brak pwiazan dla rli: " + nazwarli); pwiazaniaobiektu = pwiazania.get(nazwarli); Cllectin cl = pwiazaniaobiektu.values(); stream.println(this.getclass().getsimplename() + " pwiazania w rli " + nazwarli + ":"); fr(object bj : cl) { stream.println(" " + bj); // [...] Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 26

27 Klasa ObjectPlusPlus (5) public class ObjectPlusPlus extends ObjectPlus implements Serializable { // [...] public ObjectPlusPlus dajpwiazanyobiekt(string nazwarli, Object kwalifikatr) thrws Exceptin { HashMap<Object, ObjectPlusPlus> pwiazaniaobiektu; if(!pwiazania.cntainskey(nazwarli)) { // Brak pwiazan dla tej rli thrw new Exceptin("Brak pwiazan dla rli: " + nazwarli); pwiazaniaobiektu = pwiazania.get(nazwarli); if(!pwiazaniaobiektu.cntainskey(kwalifikatr)) { // Brak pwiazan dla tej rli thrw new Exceptin("Brak pwiazania dla kwalifikatra: " + kwalifikatr); return pwiazaniaobiektu.get(kwalifikatr); Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 27

28 Klasy bizneswe d zaimplementwania Inicjały Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 28

29 Implementacja klas bizneswych krzystająca z ObjectPlusPlus public class Aktr extends ObjectPlusPlus { private String imienazwisk; public Aktr(String imienazwisk) { super();// wlanie knstruktra z nadklasy - bwiazkwe! this.imienazwisk = imienazwisk; public String tstring() { return "Aktr: " + imienazwisk; public class Film extends ObjectPlusPlus { private String tytul; public Film(String tytul) { super();// wlanie knstruktra z nadklasy - bwiazkwe! this.tytul = tytul; public String tstring() { return "Film: " + tytul; Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 29

30 Implementacja klas bizneswych krzystająca z ObjectPlusPlus (2) public class Grupa extends ObjectPlusPlus { private int nr; public Grupa(int nr) { super();// wlanie knstruktra z nadklasy - bwiazkwe! this.nr = nr; public String tstring() { return "Grupa: " + nr; Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 30

31 Przykład wykrzystania klas bizneswych krzystających z ObjectPlusPlus // Utwrz nwe biekty (na razie bez infrmacji pwiazaniach) Aktr a1 = new Aktr("Arnld Schwarzenegger"); Aktr a2 = new Aktr("Michael Biehn"); Aktr a3 = new Aktr("Kristanna Lken"); Film f1 = new Film("Terminatr 1"); Film f3 = new Film("Terminatr 3"); Grupa g1 = new Grupa(1); Grupa g2 = new Grupa(2); // Ddaj infrmacje pwiazaniach f1.ddajpwiazanie("aktrzy", "filmy", a1); // f1.ddajpwiazanie("aktrzy", "filmy", a2); f1.ddajpwiazanie("aktrzy", "filmy", a2, "MB");// wykrzystanie ascjacji kwalifikwanej f3.ddajpwiazanie("aktrzy", "filmy", a1); f3.ddajpwiazanie("aktrzy", "filmy", a3); g1.ddajczesc("czesc", "calsc", a1); g1.ddajczesc("czesc", "calsc", a2); g2.ddajczesc("czesc", "calsc", a3); // g2.ddajczesc("czesc", "calsc", a1); // wyjatek pniewaz ddawana czesc (aktr) nalezy juz d innej calsci (grupy) Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 31

32 Przykład wykrzystania klas bizneswych krzystających z ObjectPlusPlus (2) Zadanie C jest ptencjalnie złeg (niebezpieczneg) w tym pdejściu? Jak mżna t pprawić? // Wyswietl infrmacje f1.wyswietlpwiazania("aktrzy", System.ut); f3.wyswietlpwiazania("aktrzy", System.ut); a1.wyswietlpwiazania("filmy", System.ut); Film pwiazania w rli aktrzy: Aktr: Arnld Schwarzenegger Aktr: Michael Biehn Film pwiazania w rli aktrzy: Aktr: Arnld Schwarzenegger Aktr: Kristanna Lken Aktr pwiazania w rli filmy: Film: Terminatr 1 Film: Terminatr 3 Grupa pwiazania w rli czesc: Aktr: Arnld Schwarzenegger Aktr: Michael Biehn Aktr: Michael Biehn g1.wyswietlpwiazania("czesc", System.ut); // test ascjacji kwalifikwanej System.ut.println(f1.dajPwiazanyObiekt("aktrzy", "MB")); Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 32

33 Pdsumwanie Mamy dwa generalne pdejścia d implementacji ascjacji: Identyfikatry, Natywne referencje. Niektóre rdzaje ascjacji, przed ich implementacją należy zamienić na knstrukcje równważne. Dzięki temu implementujemy je krzystając ze znanych już spsbów. Całą funkcjnalnść związaną z zarządzaniem ascjacjami, wart zgrmadzić w specjalnej nadklasie (ObjectPlusPlus). Dzięki temu, że nwa klasa (ObjectPlusPlus) dziedziczy z ObjectPlus, bsługuje również zarządzanie ekstensjami. Mdelwanie Systemów Infrmacyjnych (MSI), wykład 9 33

MAS dr. Inż. Mariusz Trzaska. Realizacja asocjacji w obiektowych językach

MAS dr. Inż. Mariusz Trzaska. Realizacja asocjacji w obiektowych językach MAS dr. Inż. Mariusz Trzaska Wykład 8 Realizacja asocjacji w obiektowych językach programowania (1) Zagadnienia o o o o o o o Wstęp teoretyczny Implementacja asocjacji: Przy pomocy identyfikatorów, Korzystając

Bardziej szczegółowo

MAS dr. Inż. Mariusz Trzaska

MAS dr. Inż. Mariusz Trzaska MAS dr. Inż. Mariusz Trzaska Wykład 5 Realizacja asocjacji w obiektowych językach programowania (1) Zagadnienia o o o o o o o Wstęp teoretyczny Implementacja asocjacji: Przy pomocy identyfikatorów, Korzystając

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 10

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 10 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 10 1 KLASY I OBIEKTY W definicji klasy dane składwe nie mgą być inicjalizwane. Mgą im być nadawane wartści za pmcą funkcji składwych klasy, (np.

Bardziej szczegółowo

Katalog książek cz. 1

Katalog książek cz. 1 Katalg książek cz. 1 Przygtwanie klas mdelu dziedzinweg 1) Uruchm Netbeans, stwórz nwy prjekt typu Java Applicatin. W drugim krku kreatra zaznacz utwrzenie klasy głównej nadaj klasie nazwę Main, umieść

Bardziej szczegółowo

MAS dr. Inż. Mariusz Trzaska. Wykorzystanie klas w obiektowych językach

MAS dr. Inż. Mariusz Trzaska. Wykorzystanie klas w obiektowych językach MAS dr. Inż. Mariusz Trzaska Wykład 7 Wykorzystanie klas w obiektowych językach programowania Zagadnienia o o Realizacja w popularnych językach programowania (Java) poniższych konstrukcji: Klasa Ekstensja

Bardziej szczegółowo

Przeciążanie metod i operatorów

Przeciążanie metod i operatorów Przeciążanie metd i peratrów Zadanie 1 W prgramie utwórz klasę Ksiazki. Klasa psiada pla przechwujące infrmacje : tytule książki, autrze książki, ilści strn, ilści rzdziałów i cenie (cena pwinna być większa

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 11

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 11 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 11 1 Lista inicjalizacyjna knstruktra W klasie mgą być również stałe dane składwe (zadeklarwane jak cnst). Np.: KONSTRUKTORY I DESTRUKTORY Dane stałe

Bardziej szczegółowo

MAS dr. Inż. Mariusz Trzaska. Realizacja różnych modeli dziedziczenia w obiektowych językach programowania

MAS 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ółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 7

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 7 www.imi.plsl.pl JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 7 1 WSKAŹNIKI JAKO ARGUMENTY FUNKCJI www.imi.plsl.pl Ad. 2. Przekazywanie przez wskaźnik. Funkcja pracuje na ryginale przekazywanej

Bardziej szczegółowo

Laboratorium 5 Zend Framework: lista zadań

Laboratorium 5 Zend Framework: lista zadań Technlgie prgramwania systemów internetwych Labratrium 5 Labratrium 5 Zend Framewrk: lista zadań Twrzenie prjektu aplikacja: prsta lista zadań Celem ćwiczenia jest przygtwanie prstej aplikacji wyświetlającej

Bardziej szczegółowo

MODELOWANIE W UML DO OPISU BIZNESU, CZY SYSTEMÓW?

MODELOWANIE W UML DO OPISU BIZNESU, CZY SYSTEMÓW? MODELOWANIE W UML DO OPISU BIZNESU, CZY SYSTEMÓW? Mdelwanie prcesów bizneswych w UML TOMASZ GZIK M A R Z E C 2 0 1 6 www.tigacnsulting.pl Wszystkie prawa zastrzeżne tgzik@tigacnsulting.pl WPROWADZENIE

Bardziej szczegółowo

TWORZENIE I TESTOWANIE TEST-DRIVEN DEVELOPMENT APLIKACJI Z UŻYCIEM KOD: TDD

TWORZENIE I TESTOWANIE TEST-DRIVEN DEVELOPMENT APLIKACJI Z UŻYCIEM KOD: TDD TWORZENIE I TESTOWANIE APLIKACJI Z UŻYCIEM TEST-DRIVEN DEVELOPMENT KOD: TDD PROFIL UCZESTNIKA Prgramista: zna język Java lub C# w stpniu pdstawwym (istnieje mżliwść dpaswania szklenia d inneg języka);

Bardziej szczegółowo

Java: interfejsy i klasy wewnętrzne

Java: interfejsy i klasy wewnętrzne Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania

Bardziej szczegółowo

Partner projektu F5 Konsulting Sp. z o.o. ul. Składowa 5, 61-897 Poznań T: 061 856 69 60 F: 061 853 02 95

Partner projektu F5 Konsulting Sp. z o.o. ul. Składowa 5, 61-897 Poznań T: 061 856 69 60 F: 061 853 02 95 Plan Kmunikacji na temat prjektu samceny , 2010 Partner prjektu F5 Knsulting Sp. z.. ul. Składwa 5, 61-897 Pznań T: 061 856 69 60 F: 061 853 02 95 SPIS TREŚCI: WPROWADZENIE...

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje 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ółowo

Opis i specyfikacja interfejsu SI WCPR do wybranych systemów zewnętrznych

Opis i specyfikacja interfejsu SI WCPR do wybranych systemów zewnętrznych Załącznik nr 1 d OPZ Opis i specyfikacja interfejsu SI WCPR d wybranych systemów zewnętrznych Spis treści 1. OPIS I SPECYFIKACJA INTERFEJSU DO SYSTEMÓW DZIEDZINOWYCH... 2 1.1. Integracja z systemami dziedzinwymi...

Bardziej szczegółowo

WYKŁAD 2 Historia rozwoju technik programowania. Granica pomiędzy programem a agentem. Cykl życia i podstawowe elementy składowe agenta.

WYKŁAD 2 Historia rozwoju technik programowania. Granica pomiędzy programem a agentem. Cykl życia i podstawowe elementy składowe agenta. WYKŁAD 2 Histria rzwju technik prgramwania. Granica pmiędzy prgramem a agentem. Cykl życia i pdstawwe elementy składwe agenta. Gdzie się kńczy prgram a gdzie zaczyna agent? Prześledźmy analgie w przykładzie:

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA 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ółowo

stworzyliśmy najlepsze rozwiązania do projektowania organizacji ruchu Dołącz do naszych zadowolonych użytkowników!

stworzyliśmy najlepsze rozwiązania do projektowania organizacji ruchu Dołącz do naszych zadowolonych użytkowników! Wrcław, 29.08.2012 gacad.pl stwrzyliśmy najlepsze rzwiązania d prjektwania rganizacji ruchu Dłącz d naszych zadwlnych użytkwników! GA Sygnalizacja - t najlepszy Plski prgram d prjektwania raz zarządzania

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja 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ółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

Bardziej szczegółowo

Operatory odległości (część 2) obliczanie map kosztów

Operatory odległości (część 2) obliczanie map kosztów Operatry dległści (część 2) bliczanie map ksztów Celem zajęć jest zapznanie się ze spsbem twrzenia mapy ksztów raz wyznaczeni mapy czasu pdróży d centrum miasta. Wykrzystane t zstanie d rzwinięcia analizy

Bardziej szczegółowo

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów

Bardziej szczegółowo

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, 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ółowo

1 Historia i cechy C++ 2 PRZYDATNE KONSTRUKCJE

1 Historia i cechy C++ 2 PRZYDATNE KONSTRUKCJE Prgramwanie biektwe Wykład 1 Materiały: dr inż. Bżena Łpuch 1 Histria i cechy C++ Autr - Bjarne Strustrup (Dania, Cambridge, AT&T), 1983 Cel: rzszerzenie języka C biektwe mechanizmy abstrakcji danych i

Bardziej szczegółowo

Optymalne przydzielanie adresów IP. Ograniczenia adresowania IP z podziałem na klasy

Optymalne przydzielanie adresów IP. Ograniczenia adresowania IP z podziałem na klasy Optymalne przydzielanie adresów IP Twórcy Internetu nie przewidzieli ppularnści, jaką medium t cieszyć się będzie becnie. Nie zdając sbie sprawy z długterminwych knsekwencji swich działań, przydzielili

Bardziej szczegółowo

Dziedziczenie. dr Jarosław Skaruz

Dziedziczenie. dr Jarosław Skaruz Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 8

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 8 www.imi.plsl.pl JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 8 1 TABLICE DYNAMICZNE Duż ciekawsze jest: Twrzenie dynamicznych tablic peratrem new[]: peratr new[] jest drębnym peratrem; d pary:

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Sugerowany sposób rozwiązania problemów. Istnieje kilka sposobów umieszczania wykresów w raportach i formularzach.

Sugerowany sposób rozwiązania problemów. Istnieje kilka sposobów umieszczania wykresów w raportach i formularzach. MS Access - TDane b. Sugerwany spsób rzwiązania prblemów. Pmc dla TDane - ćwiczenie 26. Istnieje kilka spsbów umieszczania wykresów w raprtach i frmularzach. A. B. Przygtuj kwerendę (lub wykrzystaj kwerendę

Bardziej szczegółowo

ZAPYTANIE OFERTOWE. Bielsko-Biała, 22 maja 2013 r.

ZAPYTANIE OFERTOWE. Bielsko-Biała, 22 maja 2013 r. Bielsk-Biała, 22 maja 2013 r. Zakład Mechaniki Precyzyjnej AQMET Nwiński Spółka jawna Pl. Święteg Mikłaja 2 43-300 Bielsk-Biała ZAPYTANIE OFERTOWE W związku z planwaną realizacją prjektu wdrżenia sieci

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Enkapsulacja, dziedziczenie, polimorfizm

Enkapsulacja, dziedziczenie, polimorfizm 17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja

Bardziej szczegółowo

Przypomnienie o klasach i obiektach

Przypomnienie o klasach i obiektach Wykład 14 Programowanie obiektowe ciąg dalszy, str 1 Przypomnienie o klasach i obiektach -5 należydo int 314 należy do double false należy do boolean {27, 314,-15 należy do double[] wartość należy do typ

Bardziej szczegółowo

Programowanie 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 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ółowo

Nowe funkcje w programie Symfonia e-dokumenty w wersji 2012.1 Spis treści:

Nowe funkcje w programie Symfonia e-dokumenty w wersji 2012.1 Spis treści: Nwe funkcje w prgramie Symfnia e-dkumenty w wersji 2012.1 Spis treści: Serwis www.miedzyfirmami.pl... 2 Zmiany w trakcie wysyłania dkumentu... 2 Ustawienie współpracy z biurem rachunkwym... 2 Ustawienie

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs 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ółowo

Polimorfizm. dr Jarosław Skaruz

Polimorfizm. 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ółowo

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA Załącznik nr 4 d Zaprszenia d składania fert z dn. 17 maja 2012 SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA ETAP 1 ANALIZY PRZYGOTOWAWCZE I ANALIZY PRZEDWDROŻENIOWE d 1 czerwca d 31 sierpnia 2012 I. Przeprwadzenie

Bardziej szczegółowo

Informatyka Systemów Autonomicznych

Informatyka Systemów Autonomicznych Infrmatyka Systemów Autnmicznych Uczenie maszynwe: uczenie z nauczycielem i bez nauczyciela. Kamil Małysz Spis treści I. Wstęp...3 II. Pczątki uczenia maszynweg...3 III. Zastswania w praktyce...4 IV. Metdy

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

"Pies" P i e s \0. Prawidłowy zapis wymaga wykorzystania funkcji strcpy() z pliku nagłówkowego string.h: char txt[10]; strcpy(txt, Pies );

Pies P i e s \0. Prawidłowy zapis wymaga wykorzystania funkcji strcpy() z pliku nagłówkowego string.h: char txt[10]; strcpy(txt, Pies ); Łańcuchy znaków MATERIAŁY POMOCNICZE NR 7 DO PRACOWNII Z PRZEMIOTU INFORMATYKA 1 Łańcuch znaków (napis, stała napiswa) jest t ciąg złŝny z zera lub większej liczby znaków zawartych między znakami cudzysłwu,

Bardziej szczegółowo

Dostosowywanie zakresu subskrypcji na platformie Marketplace przez usuwanie i dodawanie licencji lub anulowanie całej subskrypcji

Dostosowywanie zakresu subskrypcji na platformie Marketplace przez usuwanie i dodawanie licencji lub anulowanie całej subskrypcji Ingram Micr Marketplace: Dstswywanie zakresu subskrypcji na platfrmie Marketplace przez usuwanie i ddawanie licencji lub anulwanie całej subskrypcji Ingram Micr Inc. Zastrzeżne infrmacje firmy Ingram Micr

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 11: Serializacja obiektów 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Problem składowania/przesyłania danych Strumienie Tylko typy proste Konieczność ręcznego odtwarzania

Bardziej szczegółowo

Metody pracy na lekcji. Referat przedstawiony na spotkaniu zespołu matematyczno przyrodniczego

Metody pracy na lekcji. Referat przedstawiony na spotkaniu zespołu matematyczno przyrodniczego Szkła Pdstawwa im. Władysława Brniewskieg we Władysławwie Metdy pracy na lekcji Referat przedstawiny na sptkaniu zespłu matematyczn przyrdniczeg Wyraz metda ma swój pczątek w języku stargreckim i znacza

Bardziej szczegółowo

Rodzaj szkolenia nieformalnego: Coaching

Rodzaj szkolenia nieformalnego: Coaching Rdzaj szklenia niefrmalneg: Caching 1. Cele szklenia Celem szklenia jest pdwyższanie pzimu kmpetencji pracwników w zakresie przezwyciężania prblemów i barier pjawiających się na drdze d realizacji braneg

Bardziej szczegółowo

UML 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. 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ółowo

Instrukcja korzystania z serwisu Geomelioportal.pl. - Strona 1/12 -

Instrukcja korzystania z serwisu Geomelioportal.pl. - Strona 1/12 - Instrukcja krzystania z serwisu Gemeliprtal.pl - Strna 1/12 - Spis treści 1. Wstęp... 3 1.1. Słwnik pdstawwych terminów... 3 2. Wyświetlanie i wyszukiwanie danych... 4 2.1. Okn mapy... 5 2.2. Paski z menu

Bardziej szczegółowo

QuarkXpress skład i publikacja operacje podstawowe

QuarkXpress skład i publikacja operacje podstawowe QuarkXpress skład i publikacja peracje pdstawwe Opis szklenia: Szklenie QuarkXpress przeznaczne dla sób chcących zapznać się ze światem składu DTP, Grafików, prjektantów, specjalistów d spraw reklamy,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie 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ółowo

Klasy abstrakcyjne, interfejsy i polimorfizm

Klasy 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ółowo

imię kod ulica prześlij Dzięki formularzom możliwe jest pobieranie danych, a nie tylko ich wyświetlanie.

imię kod ulica prześlij Dzięki formularzom możliwe jest pobieranie danych, a nie tylko ich wyświetlanie. Frmularze w HTML Struktura frmularza: ... imię nazwisk miejscwść kd ulica prześlij Dzięki frmularzm mżliwe jest pbieranie danych,

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie 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ółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

STANDARDY PRACY DYPLOMOWEJ (LICENCJACKIEJ, INŻYNIERSKIEJ I MAGISTERSKIEJ)

STANDARDY PRACY DYPLOMOWEJ (LICENCJACKIEJ, INŻYNIERSKIEJ I MAGISTERSKIEJ) STANDARDY PRACY DYPLOMOWEJ (LICENCJACKIEJ, INŻYNIERSKIEJ I MAGISTERSKIEJ) W pracy licencjackiej i inżynierskiej student pwinien wykazać się znajmścią literatury badaneg bszaru i umiejętnścią zastswania

Bardziej szczegółowo

POWIATOWY URZĄD PRACY W GRUDZIĄDZU ul. Parkowa 22, 86-300 Grudziądz, tel. (056)6438400, fax. (056)6433001; www.pup.grudziadz.com.

POWIATOWY URZĄD PRACY W GRUDZIĄDZU ul. Parkowa 22, 86-300 Grudziądz, tel. (056)6438400, fax. (056)6433001; www.pup.grudziadz.com. POWIATOWY URZĄD PRACY W GRUDZIĄDZU ul. Parkwa 22, 86-300 Grudziądz, tel. (056)6438400, fax. (056)6433001; www.pup.grudziadz.cm.pl Grudziądz, 20 października 2014 rku NOK.331.30.14 Dtyczy: Zadanych pytań

Bardziej szczegółowo

Ję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. 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ółowo

Bożena Czyż-Bortowska, Biblioteka Pedagogiczna w Toruniu

Bożena Czyż-Bortowska, Biblioteka Pedagogiczna w Toruniu WYSZUKIWANIE PROGRAMÓW NAUCZANIA W PROGRAMIE INFORMACYJNO- WYSZUKIWAWCZYM SYSTEMU KOMPUTEROWEJ OBSŁUGI BIBLIOTEKI "SOWA" - scenariusz zajęć warsztatwych dla człnków Gruwy Satkształceniwej WUZ BP w Truniu

Bardziej szczegółowo

Dziedziczenie. 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. 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

CZYLI MYŚLENIE W ROZCIĄGANIU CZĘŚĆ PIERWSZA STATYCZNA

CZYLI MYŚLENIE W ROZCIĄGANIU CZĘŚĆ PIERWSZA STATYCZNA 1 S t r n a CZYLI MYŚLENIE W ROZCIĄGANIU CZĘŚĆ PIERWSZA STATYCZNA 2 S t r n a Słwem wstępu... 4 Czym jest Rzciąganie (Stretching)?... 5 Jakie zalety płyną z uprawiania Rzciągania/Stretchingu?... 5 Czym

Bardziej szczegółowo

TECHNOLOGIA EJB I JPA KOD: EJBJPA

TECHNOLOGIA EJB I JPA KOD: EJBJPA TECHNOLOGIA EJB I JPA KOD: EJBJPA PROFIL UCZESTNIKA Uczestnik: psiada minimum rczne dświadczenie w prgramwaniu w języku Java; zna pdstawy twrzenia aplikacji w Java SE / EE; zna praktycznie relacyjne bazy

Bardziej szczegółowo

Wykład 6: Dziedziczenie

Wykład 6: Dziedziczenie Wykład 6: Dziedziczenie Dziedziczenie Jeden z filarów obiektowości. Budowa jednej klasy na bazie drugiej, przez dodawanie/przesłanianie jej składowych: nad-klasa klasa bazowa pod-klasa klasa pochodna od

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie

Bardziej szczegółowo

Tworzenie kwerend. Nazwisko Imię Nr indeksu Ocena

Tworzenie kwerend. Nazwisko Imię Nr indeksu Ocena Twrzenie kwerend - 1-1. C t jest kwerenda? Kwerendy pzwalają w różny spsób glądać, zmieniać i analizwać dane. Mżna ich również używać jak źródeł rekrdów dla frmularzy, raprtów i strn dstępu d danych. W

Bardziej szczegółowo

Zapytanie ofertowe. Stworzenie inteligentnych narzędzi do generacji i zarządzania stron internetowych (SaaS+WEB2.0),

Zapytanie ofertowe. Stworzenie inteligentnych narzędzi do generacji i zarządzania stron internetowych (SaaS+WEB2.0), Fundusze Eurpejskie dla rzwju innwacyjnej gspdarki Chrzów, 5 listpada 2012 r. Zapytanie fertwe W związku z realizacją prjektu pn.: Stwrzenie inteligentnych narzędzi d generacji i zarządzania strn internetwych

Bardziej szczegółowo

Pierwsze kroki. Stworzenie terenu. (3pkt)

Pierwsze kroki. Stworzenie terenu. (3pkt) Pierwsze krki Utwrzyć nwy prjekt (menu File - > New Prject - > zakładka Create New Prject). Rzpakwać katalg z materiałami. Stwrzenie terenu. (3pkt) D nweg prjektu Unity3d utwórz teren (menu Terrain - >

Bardziej szczegółowo

Przykład -

Przykład - Polimorfizm Przykład - http://rpodhajny.wordpress.com klasa bazowa A, oraz klasy pochodne B1, B2,, Bn (dziedziczące po klasie bazowej). niektóre klasy pochodne chcą mieć możliwość skorzystania z metody

Bardziej szczegółowo

Automatyzacja pracy w magazynie tylko na bazie standardowo zakodowanych informacji!

Automatyzacja pracy w magazynie tylko na bazie standardowo zakodowanych informacji! Pitr Frąckwiak 1 Instytut Lgistyki i Magazynwania GS1 Plska Autmatyzacja pracy w magazynie tylk na bazie standardw zakdwanych infrmacji! W rzeczywistści magazynwej zachdzi szczególne zaptrzebwanie na rzetelne

Bardziej szczegółowo

Imię i nazwisko zamawiającego...

Imię i nazwisko zamawiającego... Zamówienie abnamentwej aktualizacji prgramów na rk 2018 w frmie Andrzej Huuzar Huuzar Sftware t ul. Tczewska 14, 51-429 Wrcław W przypadku aktualizwania części (nie wszystkich) psiadanych stanwisk kniecznie

Bardziej szczegółowo

Przestrzeń papier / model

Przestrzeń papier / model Przestrzeń papier / mdel AutCAD działa alb w przestrzeni (bszarze) mdelu alb bszarze papieru. Obszar mdelu wykrzystujemy d pracy rysunkwej i prjektwej, twrzenia rysunków 2D lub mdeli 3D. Obszar papieru

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie 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ółowo

Ogłoszenie o zamówieniu BZP - postępowanie nr A120-211-227/14/PJ

Ogłoszenie o zamówieniu BZP - postępowanie nr A120-211-227/14/PJ Adres strny internetwej, na której Zamawiający udstępnia Specyfikację Isttnych Warunków Zamówienia: www.ug.edu.pl Gdańsk: Świadczenie usług ubezpieczenia dla Uniwersytetu Gdańskieg, bejmujących ubezpieczenie

Bardziej szczegółowo

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy Pojęcie klasy Program napisany w języku Java składa się ze zbioru klas. Każda klasa zawiera

Bardziej szczegółowo

Nowe funkcje w module Repozytorium Dokumentów

Nowe funkcje w module Repozytorium Dokumentów Frte Repzytrium 1 / 6 Nwe funkcje w mdule Repzytrium Dkumentów Frte Repzytrium zmiany w wersji 2012.a 2 Zmiany w trakcie wysyłania dkumentu 2 Wysyłanie dkumentów własnych. Ustawienie współpracy z w serwisem

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 3.

Programowanie 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ółowo

Wyjątki. Wyjątki. Wyjątki. Wyjątki. Wyjątki. Wyjątki. Wprowadzenie. Wprowadzenie

Wyjątki. Wyjątki. Wyjątki. Wyjątki. Wyjątki. Wyjątki. Wprowadzenie. Wprowadzenie Wprwadzenie Krzystanie z wyjątków pzwala ddzielić kd bsługi błędu d kdu wyknania zadania Zamiast umieszczać w kdzie bsługi zadania sekwencje instrukcji dpwiedzialne za pprawne zachwanie prgramu w razie

Bardziej szczegółowo

MAS dr. Inż. Mariusz Trzaska. Wykład 1

MAS dr. Inż. Mariusz Trzaska. Wykład 1 MAS dr. Inż. Mariusz Trzaska Wykład 1 Prjektwanie i mdelwanie architektury systemu Tematyka wykładu Infrmacje Mariusz Trzaska: Mdelwanie i implementacja systemów infrmatycznych. Rk 2008/11. Wersja elektrniczna

Bardziej szczegółowo

OFERTA JEDNOSTKI NAUKOWEJ. STAŻ PRACOWNIKA PRZEDSIĘBIORSTWA W JEDNOSTCE NAUKOWEJ w ramach projektu Stolica staży (UDA.POKL.08.02.

OFERTA JEDNOSTKI NAUKOWEJ. STAŻ PRACOWNIKA PRZEDSIĘBIORSTWA W JEDNOSTCE NAUKOWEJ w ramach projektu Stolica staży (UDA.POKL.08.02. Biur Prjektu: Cnsulting Plus Sp. z.. ul. Wiejska 12, 00-490 Warszawa tel. 22 622 35 19, fax 22 622 35 20 biur@teklaplus.pl OFERTA JEDNOSTKI NAUKOWEJ STAŻ PRACOWNIKA PRZEDSIĘBIORSTWA W JEDNOSTCE NAUKOWEJ

Bardziej szczegółowo

Oznaczenie CE. Ocena ryzyka. Rozwiązanie programowe dla oznakowania

Oznaczenie CE. Ocena ryzyka. Rozwiązanie programowe dla oznakowania Ocena zgdnści Analiza zagrżeń Oznaczenie CE Ocena ryzyka Rzwiązanie prgramwe dla znakwania safexpert.luc.pl www.luc.pl W celu wybru najbardziej dpwiednich mdułów prgramu Safexpert plecamy zapznad się z

Bardziej szczegółowo

Metody sparametryzowane

Metody sparametryzowane Metody sparametryzowane Nie tylko klasy i pola można parametryzować. Parametry typu można zastosować również do pojedynczych metod. Podstawienie typu zostanie wykonane podczas wywołania metody. class Box

Bardziej szczegółowo

Prototype (prototyp) Cel: Przykład: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp.

Prototype (prototyp) Cel: Przykład: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp. 1/14 Prototype (prototyp) Cel: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp. Przykład: Edytor 3D klient tworzy obiekty różnych kształtów

Bardziej szczegółowo

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu

Bardziej szczegółowo

PROGRAM SZKOLENIA DLA SPECJALISTÓW RYNKU PRACY Z UŻYTKOWANIA OPROGRAMOWANIA EIPD

PROGRAM SZKOLENIA DLA SPECJALISTÓW RYNKU PRACY Z UŻYTKOWANIA OPROGRAMOWANIA EIPD PROGRAM SZKOLENIA DLA SPECJALISTÓW RYNKU PRACY Z UŻYTKOWANIA OPROGRAMOWANIA EIPD Tytuł prjektu: PI EIPD nwa jakść dradztwa TEMAT INNOWACYJNY: Zwiększenie ferty istniejących instytucji działających na rzecz

Bardziej szczegółowo

Programowanie 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 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Zmiany funkcjonalne wprowadzone w Comarch ERP XL w wersji

Zmiany funkcjonalne wprowadzone w Comarch ERP XL w wersji wprwadzne w Cmarch ERP XL w wersji Spis treści 1 Lgistyka... 3 Ręczna krekta wartściwa dstawy wyprzedanej... 3 Inne zmiany... 4 1.2.1 SENT - zmiany w kmunikacji... 4 2 Księgwść... 4 Współpraca z Cmarch

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.nfm.wroclaw.pl

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.nfm.wroclaw.pl Adres strny internetwej, na której Zamawiający udstępnia Specyfikację Isttnych Warunków Zamówienia: www.nfm.wrclaw.pl Wrcław: Usługa realizacji nagłśnienia, świetlenia i vide na telebimy Gali Nwrcznej

Bardziej szczegółowo

1 Historia i cechy C++ 2 PRZYDATNE KONSTRUKCJE

1 Historia i cechy C++ 2 PRZYDATNE KONSTRUKCJE Prgramwanie biektwe Wykład 1 1 Histria i cechy C++ Autr - Bjarne Strustrup (Dania, Cambridge, AT&T), 1983 Cel: rzszerzenie języka C biektwe mechanizmy abstrakcji danych i silną statyczną kntrlę typów.

Bardziej szczegółowo

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019 Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości

Bardziej szczegółowo

Ocena modeli biznesowych. Otoczenie firmy - modele biznesowe Internet pozycja konkurencyjna w sektorze

Ocena modeli biznesowych. Otoczenie firmy - modele biznesowe Internet pozycja konkurencyjna w sektorze Ocena mdeli bizneswych Otczenie firmy - mdele bizneswe Internet pzycja knkurencyjna w sektrze Eknmiczne Wybrana cele przedsiębirstwa ptymalizacja ksztów np. w kntekście relacji z klientem pprawa wyników

Bardziej szczegółowo