J zyk Java cz 1 (streszczenie)

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

Download "J zyk Java cz 1 (streszczenie)"

Transkrypt

1 Programowanie współbie ne J zyk Java cz 1 (streszczenie) Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pwr.wroc.pl J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 1 / 81 Podstawowe elementy j zyka Komentarze słowa kluczowe Identyfikatory Typy danych Operatory Instrukcje Klasy i obiekty Kompozycja i dziedziczenie klas Klasy abstrakcyjne Interfejsy J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 2 / 81

2 Komentarze w Javie Komentarz wierszowy // Program wypisuj cy tekst powitania Komentarz blokowy /* Program wypisuj cy tekst powitania Warszawa, 13 listopada 2002 r. */ Komentarz dokumentacyjny /** * Klasa rysuj ca wykres. Typ wykresu * zale y od naci ni tego przycisku. 1.0 */ class Wykres... J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 3 / 81 Słowa kluczowe Słowa kluczowe to słowa, które maj specjalne znaczenie (np. oznaczaj instrukcje steruj ce) i nie mog by u ywane w innym kontek cie ni okre la składnia j zyka. abstract default if package synchronized assert do implements private this boolean double import protected throw break else instanceof public throws byte extends int return transient case false interface short true catch final long static try char finally native strictfp void class float new super volatile const for null switch while continue goto Uwagi: słowa kluczowe goto i const, s zarezerwowane ale nie s u ywane. słowa boolean, byte, char, double, float, int, long, short s nazwami typów podstawowych. słowa true, false i null s nazwami stałych. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 4 / 81

3 Identyfikatory Identyfikatory to tworzone przez programist nazwy klas, pól i metod klasy oraz stałych i zmiennych. Identyfikator musi zaczyna si od litery lub podkre lenia i mo e składa si z dowolnych znaków alfanumerycznych (liter i cyfr) oraz znaków podkre lenia. Java rozró nia wielkie i małe litery w identyfikatorach Identyfikator nie mo e pokrywa si ze słowami kluczowymi. Zalecenia: Nazwy klas: wszystkie słowa w nazwie rozpoczyna du liter, np.: ObiektGraficzny Nazwy metod i pól publicznych: pierwsze słowo rozpoczyna mał liter, a kolejne wyrazy du liter, np.: rysujtlo, kolorwypelnienia. Nazwy metod i pól prywatnych: pisa wył cznie małymi literami, a wyrazy ł czy podkre leniem, np.: kierunek_ruchu. Nazwy zmiennych niemodyfikowalnych (stałych): pisa wył cznie du ymi literami, a wyrazy ł czy podkre leniem, np.: ROZMIAR_TABLICY. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 5 / 81 Typy danych Typ danej to zbiór jej mo liwych warto ci oraz zestaw operacji, które mo na na nich wykonywa. Jednocze nie okre la on rozmiar pami ci potrzebny do przechowywania danej oraz sposób zapisu danej w pami ci komputera. J zyk Java zawiera nast puj ce typy danych: typy podstawowe: typy całkowite: byte, short, int, long, typy rzeczywiste: float, double, typ znakowy: char, typ logiczny: boolean, typ wyliczeniowy typ referencyjny nazwy typu referencyjnego pochodz od nazwy klasy lub interfejsu. Warto ci zmiennej typu referencyjnego jest referencja (odniesienie) do obiektu. Dane w programie przedstawiamy za pomoc literałów, zmiennych oraz stałych. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 6 / 81

4 Typy podstawowe Typy podstawowe reprezentuj pojedyncze warto ci nie s one zło onymi obiektami. Zapewnia to bardzo du wydajno przy wykonywaniu oblicze. Rozmiar i zakres warto ci typów podstawowych nazwa typu zaj to pami ci zakres warto ci warto domy lna byte 1 od -128 do short 2 od do int 4 od ok do ok znaczenie liczby całkowite long 8 od ok do ok float 4 od ok do ok F double 8 od ok do ok D liczby rzeczywiste char 2 od 0 do x0 znaki unicode boolean 1 false,true false warto ci logiczne J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 7 / 81 Typy wyliczeniowe Wyliczenia tworzy si za pomoc słowa kluczowego enum, np.: enum Kolor Zielony, Zolty, Czerwony Identyfikatory Zielony, Zolty, Czerwony nazywany stałymi wyliczeniowymi. S one publicznymi statycznymi składowymi wyliczenia i posiadaj taki sam typ jak wyliczenie W programie mo na deklarowa zmienne wyliczeniowe, którym mo na przypisywa stałe wyliczenia, np.: Kolor kol; kol = Kolor.Zielony. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 8 / 81

5 Operatory Operatory s to specjalne symbole stosowane do wykonywania działa arytmetycznych, przypisa, porówna i innych operacji na danych. Dane, na których s wykonywane operacje s nazywane argumentami. Operatory s jedno, dwu lub trzyargumentowe. Uwaga: Niektóre operatory mog by stosowane zarówno jako jednoargumentowe jak i dwuargumentowe np. +. Ka dy operator mo e by stosowany wył cznie do danych okre lonego typu. Wynik działania operatora jest okre lonego typu. Uwaga: Dla niektórych operatorów typ wyniku zale y od typu argumentów. Wyra enia tworzy si za pomoc operatorów i nawiasów ze zmiennych, stałych, literałów oraz wywoła metod. Wyra enia s opracowywane (wyliczane), a ich wyniki mog by w ró ny sposób wykorzystane np. w przypisaniach, jako argumenty innych operatorów, w instrukcjach steruj cych wykonaniem programu, w wywołaniach metod, itd. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 9 / 81 Operatory cd. Kolejno opracowywania (wyliczania) wyra e zale y od priorytetów i wi za operatorów u ytych w tych wyra eniach. Priorytety mówi o tym, w jakiej kolejno ci b d wykonywane ró ne operacje w tym samym wyra eniu. Przykład: W wyra eniu a+b*c najpierw b dzie wykonane mno enie, a potem dodawanie poniewa operator * ma wy szy priorytet ni operator +. eby odwróci kolejno wykonywania działa trzeba u y nawiasów: (a+b)*c Wi zania okre laj kolejno wykonywania operacji o tym samym priorytecie tzn. czy s one wykonywane od lewej strony wyra enia czy od prawej. Przykład: W wyra eniu a-b+c najpierw b dzie wykonane odejmowanie, a potem dodawanie bo wi zanie operatorów + i jest lewostronne. eby odwróci kolejno wykonywania działa trzeba u y nawiasów: a-(b+c) J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 10 / 81

6 Zestawienie operatorów dost pnych w Javie wi zanie i priorytet 1 lewe prawe lewe 2 3 operator sposób u ycia działanie. obiekt.składowa wybór składowej klasy [ ] tablica[wyra enie] indeks tablicy ( ) metoda(lista wyra e ) wywołanie metody ++ zmienna++ przyrostkowe / przedrostkowe ++zmienna zwi kszenie o 1 -- zmienna-- przyrostkowe / przedrostkowe --zmienna zmniejszenie o 1 + +wyra enie jednoargumentowy plus, - -wyra enie jednoargumentowy minus!!wyra enie negacja logiczna ~ ~wyra enie dopełnienie bitowe (typ) (typ)wyra enie rzutowanie typu new new typ tworzenie obiektu * wyra enie*wyra enie mno enie, / wyra enie/wyra enie dzielenie, % wyra enie%wyra enie modulo J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 11 / 81 wi zanie i priorytet operator sposób u ycia działanie 4 + wyra enie+wyra enie dodawanie, ł czenie ła cuchów, - wyra enie-wyra enie odejmowanie 5 << wyra enie<<wyra enie przesuni cie bitowe w lewo >> wyra enie>>wyra enie przesuni cie bitowe w prawo >>> wyra enie>>>wyra enie przes. bitowe w prawo bez znaku 6 < wyra enie<wyra enie mniejsze, <= wyra enie<=wyra enie mniejsze lub równe, > wyra enie>wyra enie wi ksze, >= wyra enie>=wyra enie wi ksze lub równe instanceof obiekt instanceof klasa stwierdzenie typu obiektu 7 == wyra enie==wyra enie równo,!= wyra enie!=wyra enie nierówno 8 & wyra enie&wyra enie bitowe AND 9 ^ wyra enie^wyra enie bitiwe OR wył czaj ce 10 wyra enie wyra enie bitiwe OR 11 && wyra enie&&wyra enie logiczne AND 12 wyra enie wyra enie logiczne OR 13? : wyra? wyra : wyra operator warunku J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 12 / 81 lewe lewe lewe lewe

7 wi zanie i priorytet 14 prawe operator sposób u ycia działanie = zmienna=wyra enie proste przypisanie *= zmienna*=wyra enie pomnó i przypisz /= zmienna/=wyra enie podziel i przypisz %= zmienna%=wyra enie oblicz modulo i przypisz += zmienna+=wyra enie dodaj i przypisz -= zmienna-=wyra enie odejmij i przypisz <<= zmienna<<=wyra enie przesu w lewo i przypisz >>= zmienna>>=wyra enie przesu w prawo i przypisz >>>= zmienna>>>=wyra enie przesu w prawo bez znaku i przypisz &= zmienna&=wyra enie koniunkcja bitowa i przypisz ^= zmienna^=wyra enie ró nica bitowa i przypisz = zmienna =wyra enie alternatywa bitowa i przypisz J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 13 / 81 Operatory przypisania Operator przypisania = oblicza warto wyra enia po prawej stronie, a nast pnie przypisuje obliczon warto do zmiennej umieszczonej po lewej stronie. Uwaga: Działanie operatora dla typów prostych jest zgodne z intuicj. Je li a i b s zmiennymi typu prostego to instrukcja a=b powoduje skopiowanie warto ci zmiennej b do a. Pó niejsza modyfikacja zmiennej b nie wpływa na warto zmiennej a. Je li zmienne a i b s typu referencyjnego (zawieraj odwołanie do obiektu) to wykonanie instrukcji a=b powoduje skopiowanie do zmiennej a referencji do obiektu wskazywanego przez zmienn b. W efekcie zmienne a i b wskazuj na ten sam obiekt. Pó niejsza modyfikacja obiektu wskazywanego przez b powoduje równie modyfikacj obiektu wskazywanego przez a. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 14 / 81

8 Operator przypisania - przykład dla typów prostych i referencyjnych class Test int p; Test(int p) this.p=p; public String tostring() return ""+p; public static void main(string[] args) System.out.println("Inicjalizacja:"); int zma = 10; int zmb = 15; Test oba = new Test(10); Test obb = new Test(15); System.out.println("zmA = " +zma+ " zmb = "+zmb); System.out.println("obA = " +oba+ " obb = "+obb); System.out.println("\nPrzypisanie:"); zma = zmb; oba = obb; System.out.println("zmA = " +zma+ " zmb = "+zmb); System.out.println("obA = " +oba+ " obb = "+obb); System.out.println("\nModyfikacja:"); zmb = 20; obb.p = 20; System.out.println("zmA = " +zma+ " zmb = "+zmb); System.out.println("obA = " +oba+ " obb = "+obb); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 15 / 81 Operator przypisania - przykład dla typów prostych i referencyjnych // Inicjalizacja int zma = 10; int zmb = 15; zma 10 oba 10 Test oba = new Test(10); Test obb = new Tesy(20); zmb 15 obb 15 // Przypisanie zma = zmb; oba = obb; zma 15 oba 10 zmb 15 obb 15 // Modyfikacja zmb = 20; obb.p = 20; zma 15 oba 10 zmb 20 obb 20 J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 16 / 81

9 Rodzaje instrukcji w j zyku Java Instrukcja pusta nie powoduj wykonania adnych działa np. ; Instrukcje wyra eniowe: przypisanie np. a = b; preinkrementacja np. predekrementacja np. postinckrementacja np. postdekrementacja np. wywołanie metody np. wyra enie new np. ++a; --b; a++; b--; x.metoda(); new Para(); Uwaga: instrukcja wyra eniowa jest zawsze zako czona rednikiem. Instrukcja grupuj ca dowolne instrukcje i deklaracje zmiennych uj te w nawiasy klamrowe np. int a,b; a = 2*a+b; Uwaga: po zamykaj cym nawiasie nie stawiamy rednika. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 17 / 81 Rodzaje instrukcji w j zyku Java cd. Instrukcja etykietowana identyfikator i nast puj cy po nim dwukropek wskazuj cy instrukcje steruj c switch, for, while lub do. Instrukcja steruj ca umo liwia zmian sekwencji (kolejno ci) wykonania innych instrukcji programu. Rozró niamy instrukcje: warunkowe: iteracyjne: skoku: if, if...else, switch for, while, do...while break, continue, return Instrukcja throw zgłaszanie wyj tku przerywaj cego normalny tok działania programu. Instrukcja synchronized wymuszanie synchronizacji przy współbie nym wykonywaniu ró nych w tków programu J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 18 / 81

10 Posta instrukcji warunkowej if Instrukcja warunkowa if słu y do zapisywania decyzji, gdzie wykonanie instrukcji jest uzale nione od spełnienia jakiego warunku. if (warunek) instrukcja; warunek prawda instrukcja fałsz J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 19 / 81 Posta instrukcji warunkowej if - else Instrukcja warunkowa if... else słu y do zapisywania decyzji, gdzie wykonanie jednej z alternatywnych instrukcji zale y od spełnienia jakiego warunku. Je li warunek jest prawdziwy to wykonywana jest instrukcja1, w przeciwnym wypadku wykonywana jest instrukcja2. if (warunek) instrukcja1; else instrukcja2; prawda warunek fałsz instrukcja1 instrukcja2 J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 20 / 81

11 Przykład - instrukcja if... else import javax.swing.joptionpane; class PrzykladIf public static void main(string[] args) double a, b, c, delta, x1, x2; a = Double.parseDouble(JOptionPane.showInputDialog(null, "Podaj a:")); b = Double.parseDouble(JOptionPane.showInputDialog(null, "Podaj b:")); c = Double.parseDouble(JOptionPane.showInputDialog(null, "Podaj c:")); System.out.println("\n" + a + " x^2 + " + b + " x + " + c + " = 0"); if (a<0) System.out.println("\n To nie jest równanie kwadratowe"); System.exit(0); delta = b*b-4*a*c; System.out.println("\n delta=" + delta); if (delta>0) x1 = (-b - Math.sqrt(delta))/(2*a); x2 = (-b + Math.sqrt(delta))/(2*a); System.out.println("\n x1=" + x1 + " x2=" + x2); else if (delta==0) x1 = -b/(2*a); System.out.println("\n x1=" + x1); else System.out.println("\n To równanie nie ma pierwiastków"); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 21 / 81 Posta instrukcji wyboru switch Instrukcja wyboru switch pozwala zapisywa decyzje, kiedy to o wyborze jednej z alternatyw decyduje warto skalarna jakiego wyra enia testowego. Wyra enie to musi by typu całkowitego, znakowego lub wyliczeniowego. Jego wynik jest porównywany z wyra eniami stałymi (np. literałami) wyst puj cymi po słowie kluczowym case. W przypadku zgodno ci wykonywana jest odpowiednia instrukcja po dwukropku i nast puj ce po niej kolejne instrukcje a do napotkania instrukcji break lub return. Je li adne z wyra e stałych po słowie case nie jest zgodne z warto ci wyra enia testowego to wykonywana jest instrukcja po klauzulidefault. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 22 / 81

12 Posta instrukcji wyboru switch switch (test) case warto 1: instrulcje1; break; case warto 2: instrukcje2; case warto 3: instrukcje3; case warto 4: instrukcje4; break; case warto 5: instrukcje5; break; default: instrukcje-n; test warto 1 warto 2 warto 3 warto 4 warto 5... inna warto instrukcje1 instrukcje2 instrukcje3 instrukcje4 instrukcje5... instrukcje-n J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 23 / 81 Przykład instrukcja switch import javax.swing.joptionpane; class PrzykladSwitch public static void main(string[] args) double a, b; char oper; a=double.parsedouble(joptionpane.showinputdialog(null, "Podaj a")); b=double.parsedouble(joptionpane.showinputdialog(null, "Podaj b")); oper=joptionpane.showinputdialog(null, "Podaj działanie").charat(0); System.out.println("a=" + a + " b=" + b + " oper=" + oper); switch(oper) case '+': System.out.println(" Suma wynosi " + (a+b)); break; case '-': System.out.println("Roznica wynosi " + (a-b)); break; case '*': System.out.println("Iloczyn wynosi " + (a*b)); break; case '/': System.out.println(" Iloraz wynosi " + (a/b)); break; default: System.out.println("Nieznana operacja"); System.out.println("Koniec \n"); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 24 / 81

13 Posta p tli while W nagłówku p tli while zapisywany jest warunek, który jest testowany przed wykonaniem ka dej iteracji. Dopóki ten warunek jest prawdziwy, powtarzane jest wykonanie instrukcji. Gdy warunek nie jest spełniony wykonanie p tli ko czy si. Uwaga: Je li warunek nie b dzie spełniony ju na wst pie, to instrukcja w p tli while nie b dzie wykonana ani razu while (warunek) instrukcja; warunek prawda instrukcja fałsz J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 25 / 81 Posta p tli do... while P tla do... while słu y do zapisywania iteracji wykonywanej przynajmniej raz. Instrukcja w p tli jest wykonywana, po czym sprawdzany jest warunek powtórzenia. Je li warunek jest spełniony to instrukcja w p tli jest wykonywana ponownie. W przeciwnym razie wykonanie p tli ko czy si. Uwaga: Instrukcja w p tli do... while zawsze wykona si co najmniej jeden raz. do instrukcja; while(warunek); prawda instrukcja warunek fałsz J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 26 / 81

14 Posta p tli for W nagłówku p tli for podawane s : inicjalizacja, warunek powtórzenia oraz aktualizacja. Inicjalizacja jest wykonywana przed rozpocz ciem wykonywania p tli. Warunek jest sprawdzany przed ka d iteracj i je li jest spełniony wykonywana jest instrukcja wewn trz p tli i nast puj ca po niej aktualizacja. W przeciwnym razie p tla jest przerywana. for(inicjalizacja; warunek; aktualizacja) instrukcja; inicjalizacja warunek prawda instrukcja aktualizacja fałsz J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 27 / 81 Porównanie instrukcji iteracyjnych P tle while oraz do...while stosujemy zwykle wtedy, gdy kontynuacja działania p tli zale y od jakiego warunku, a liczba iteracji nie jest z góry znana lub jest trudna do okre lenia. P tla for jest stosowana najcz ciej przy organizacji p tli iteracyjnych ze znanym zakresem iteracji. P tle for mo na łatwo przekształci na p tl while. Ilustruje to poni sze zastawienie: for (inicjalizacja; warunek; aktualizacja) instrukcja; inicjalizacja; while(warunek) instrukcja; aktualizacja; J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 28 / 81

15 Przerywanie p tli instrukcja break Instrukcja break powoduje przerwanie wykonywania p tli. W przypadku p tli zagnie d onych przerywana jest p tla wewn trzna, w której bezpo rednio znajduje si instrukcja break. Je li po instrukcji break wyst puje etykieta, to przerywana jest ta p tla lub blok instrukcji, która jest opatrzona t etykiet. Uwaga: etykieta musi by umieszczona bezpo rednio przed p tl lub blokiem instrukcji, które maj by przerwane. Instrukcja break stosowana jest równie do opuszczania instrukcji switch. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 29 / 81 Kontynuowanie p tli instrukcja continue Instrukcja continue przerywa wykonywanie bie cego kroku p tli i wznawia wykonanie kolejnej iteracji. W przypadku p tli zagnie d onych działanie to dotyczy tej p tli wewn trznej, w której jest umieszczona instrukcja continue. Je li po instrukcji continue wyst puje etykieta, to wznawiana jest iteracja tej p tli, która jest opatrzona t etykiet. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 30 / 81

16 Klasy i obiekty Java jest j zykiem obiektowym. J zyki obiektowe posługuj si poj ciem obiektu i klasy. Obiekt to konkretny lub abstrakcyjny byt, wyró nialny w modelowanej rzeczywisto ci, posiadaj cy okre lone wła ciwo ci (atrybuty) oraz mog cy wiadczy okre lone usługi (metody), czyli wykonywa okre lone działania lub przejawia okre lone zachowania. Obiekty współdziałaj ze sob wymieniaj c komunikaty, które daj wykonania okre lonych usług (metod). Klasa to maj cy nazw opis pewnego rodzaju bytów posiadaj cych takie same cechy (byty te nazywamy obiektami lub instancjami klasy). Wspólne cechy to atrybuty (pola) poszczególnych obiektów oraz operacje (metody), które mo na na obiektach wykonywa. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 31 / 81 Klasy i obiekty cd. Definicja klasy okre la: zestaw cech (atrybutów) obiektów klasy, zestaw operacji, które mo na wykonywa na obiektach klasy, specjalne operacje, które pozwalaj na inicjowanie obiektów przy ich tworzeniu. Wspólne cechy (atrybuty) obiektów nazywane s polami klasy. Operacje wykonywane na obiektach nazywane s metodami. Specjalne operacje inicjalizacji przy tworzeniu obiektów nazywane s konstruktorami. Pola i metody (wraz z konstruktorami) nazywane s składowymi klasy. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 32 / 81

17 Klasy i obiekty cd. Klas przedstawia si w formie prostok ta podzielonego na trzy cz ci: górna cz zawiera nazw klasy, rodkowa cz przedstawia atrybuty obiektów, dolna cz przedstawia konstruktory oraz metody obiektów. Nazwa klasy atrybuty obiektów klasy (pola klasy) konstruktory oraz metody obiektów składowe klasy J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 33 / 81 Klasy i obiekty cd. Ogólna posta definicji klasy w j zyku Java: public class NazwaKlasy [spdost pu] typ nazwapola;... Uwagi: [spdost pu] typ nazwametody(lista_parametrów) definicja_funkcji... modyfikator dost pu public przed słowem class mo e nie wyst powa, modyfikatory [spdost pu] okre laj dost pno pól i metod. nagłówek i definicja metody w cało ci musz znajdowa si w klasie. definicja klasy nie jest zako czona rednikiem. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 34 / 81

18 Przykładowa definicja klasy ParaLiczb class ParaLiczb // definicja pól int a; int b; // definicja konstruktora ParaLiczb() a = 0; b = 0; // definicja metody suma int suma() return a+b; // definicja metody iloczn int iloczyn() return a*b; J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 35 / 81 Obiekty i referencje do obiektów Obiekty s instancjami (egzemplarzami) klasy. Do obiektów mo na odwoływa si w programie za pomoc referencji. Referencja to warto, która oznacza lokalizacj (adres) obiektu w pami ci. Referencje mog by pami tane w zmiennych referencyjnych, np.: ParaLiczb para; Zmienne referencyjne mog zawiera referencje do obiektów lub nie zawiera adnej referencji (nie wskazywa na aden obiekt). Zmienna, która nie zawiera referencji do obiektu ma warto null. Uwaga: Zmiennej referencyjnej mo na przypisywa wył cznie referencje do obiektu lub warto null. Referencje mo na porównywa wył cznie za pomoc operatorów == lub!=. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 36 / 81

19 Obiekty i referencje do obiektów Deklaracja zmiennej referencyjnej nie tworzy obiektu tzn. nie wydziela pami ci do przechowywania obiektu klasy. Obiekt musi by jawnie utworzony za pomoc operatora new, który zwraca referencj do obiektu. Ta referencja mo e zosta przypisana zmiennej referencyjnej, np.: para = new ParaLiczb(); zmienna referencyjna para referencja ParaLiczb a b obiekt klasy ParaLiczb J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 37 / 81 Definiowanie pól klasy Pola (atrybuty) klasy deklarujemy jako zmienne wewn trz klasy. Deklaracja mo e zawiera modyfikator dost pu (np. private, protected lub public), oraz wyra enie inicjuj ce, np.: private float warto = 100.0f; Uwaga: nazwy pól zwykle piszemy małymi literami. Pola ustalone zawieraj w deklaracji dodatkowy modyfikator final, np.: final int ROZMIAR_CZCIONKI = 14; Uwaga: nazwy pól ustalonych zwykle piszemy DU YMI_LITERAMI. Pola klasy, które nie maj przypisanej warto ci pocz tkowej b d miały warto ci domy lne: pola typu całkowitego (np. typu int) liczb 0, pola typu rzeczywistego (np. typu float) liczb 0.0 pola typu logicznego warto false, pola typu referencyjnego warto null. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 38 / 81

20 Odwołania do pól klasy Do pól klasy odwołujemy si za pomoc operatora selekcji. np. para.a referencja_do_obiektu.nazwa_pola Uwaga: Je li odwołujemy si do pola bie cego obiektu (np. w metodzie wywołanej na rzecz tego obiektu), które nie zostało przesłoni te, to mo na odwoływa si z pomini ciem zmiennej referencyjnej i operatora selekcji.. class ParaLiczb int a, b; odwołanie do pola a int geta() return a; J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 39 / 81 Uwaga: Odwołania do pól klasy cd. Je li odwołujemy si do pola bie cego obiektu (np. w metodzie wywołanej na rzecz tego obiektu), które zostało przesłoni te przez zmienn lokaln, to do pola mo na odwoływa si za pomoc słowa this np.: class ParaLiczb int a, b; deklaracja pola a int seta(int a) this.a = a; odwołanie do pola a parametr a przesłania zasi g pola a J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 40 / 81

21 Definiowane metod w klasie modyfikator dost pu typ wyniku nazwa metody lista parametrów public int obliczsume(int a, int b) int c = a+b; ciało return c; metody zwracany wynik nagłówek metody nagłówek i ciało metody w cało ci musz znajdowa si w klasie. nazw metody zaczynamy od małej litery i dalej stosujemy notacj w giersk np. dodaj, obliczsume. modyfikator dost pu okre la czy metoda mo e by wywoływana spoza klasy, w której jest zdefiniowana. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 41 / 81 Definiowane metod w klasie cd. typ wyniku okre la typ danych zwracanych przez metod. Je li metoda nic nie zwraca to zapisujemy void. Je li metoda zwraca wynik to zako czenie działania metody powinno nast powa na skutek instrukcji return. lista parametrów zawiera deklaracje parametrów, które s przekazywane do metody przy wywołaniu. Lista ta mo e by pusta (metoda bezparametrowa). J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 42 / 81

22 Konstruktory Konstruktor to specjalna metoda, która słu y (głównie) do inicjowania pól obiektów. Konstruktor Uwaga: zawsze ma nazw tak sam jak nazwa klasy, nie ma adnego typu wyniku (nawet void), ma list parametrów (w szczególno ci mo e by pusta). jest zawsze wywoływany za pomoc wyra enia new W klasie mo e by zdefiniowanych wiele przeci onych konstruktorów, które ró ni si list parametrów. Je li w klasie nie zdefiniowano adnego konstruktora to jest tworzony domy lny konstruktor bezparametrowy, który inicjuje pola obiektu warto ciami domy lnymi. Konstruktor domy lny nie jest dodawany, gdy w klasie zdefiniowano jakikolwiek inny konstruktor. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 43 / 81 Konstruktory przykład class Towar private String nazwa; private double cena; private int ilosc; public Towar() nazwa = "nieznany"; cena = 0.0; ilosc = 0; public Towar(String nazwa) this(); this.nazwa = nazwa; public Towar(String nazwa, double cena, int ilosc) this(nazwa); this.cena = cena; this.ilosc = ilosc; public static void main(string [] args) Towar t1, t2, t3, t4; t1 = new Towar(); t2 = new Towar("Zeszyt"); t3 = new Towar("Blok rysunkowy", 2.50, 5); wywołanie konstruktora bezparametrowego wywołanie konstruktora z jednym parametrem wywołanie konstruktora bezparametrowego wywołanie konstruktora z jednym parametrem wywołanie konstruktora z trzema parametrami J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 44 / 81

23 Pola i metody statyczne Wszystkie pola niestatyczne istniej w ka dym obiekcie b d cym instancj klasy. tzn. ka dy obiekt posiada własny indywidualny zestaw atrybutów opisuj cych jego wła ciwo ci. Pola statyczne dotycz całej klasy, a nie poszczególnych obiektów s one pami tane w specjalnym obszarze pami ci wspólnym dla całej klasy. Składowe statyczne stanowi wła ciwo ci całej klasy, a nie poszczególnych obiektów. Składowe statyczne (pola i metody): s deklarowane przy u yciu specyfikatora static mog by u ywane nawet wtedy, gdy nie istnieje aden obiekt klasy. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 45 / 81 Pola i metody statyczne cd. Do składowych statycznych klasy odwołujemy si za pomoc operatora selekcji. NazwaKlasy.nazwa_składowej Je eli istnieje jaki obiekt to do składowej statycznej mo na si równie odwoływa tak, jak do zwykłej składowej (tzn. poprzez podanie referencji do obiektu) referencja_do_obiektu.nazwa_składowej Wewn trz klasy do składowych statycznych mo na odwoływa si w uproszczony sposób podaj c tylko ich nazw. Uwaga: Ze statycznych metod nie wolno odwoływa si do niestatycznych składowych klasy podaj c ich nazw (obiekt mo e nie istnie ). Mo liwe s natomiast odwołania do innych składowych statycznych. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 46 / 81

24 Pola i metody statyczne przykład class Towar private static int vat = 0; static void ustawvat(int vat) Towar.vat = vat; System.out.printf("\nVAT wynosi %d\n\n", vat); private String nazwa = "nieznany"; private double cena = 0.0; private int ilosc = 0; Towar(String nazwa, double cena, int ilosc) this.nazwa = nazwa; this.cena = cena; this.ilosc = ilosc; double obliczwartoscnetto() return cena * ilosc; double obliczvat() return cena*ilosc*vat/100; pole statyczne metoda statyczna pola niestatyczne konstruktor metody niestatyczne double obliczwartoscbrutto() return obliczwartoscnetto() + obliczvat(); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 47 / 81 Pola i metody statyczne przykład cd. public String tostring() return String.format("%10s %7.2f*%d + %2d%% VAT -> %7.2f", nazwa, cena, ilosc, vat, obliczwartoscbrutto()); public void drukuj() System.out.println(this); metody niestatyczne public static void main(string[] args) // nazwa = Towar ; // cena = 100.0; // ilosc = 1; // drukuj(); Towar t1 = new Towar("Atlas ", 12.50, 2); Towar t2 = new Towar("Zeszyt A4", 2.40, 5); ustawvat(0); t1.drukuj(); t2.drukuj(); Towar.ustawVAT(7); t1.drukuj(); t2.drukuj(); t1.ustawvat(22); t1.drukuj(); t2.drukuj(); w metodzie statycznej nie wolno odwoływa si do pól i metod niestatycznych wywołania metody statycznej wywołania metody niestatycznej dla obiektów t1 i t2 J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 48 / 81

25 Zwi zki mi dzy klasami: jest i zawiera Przkład: Pojazd Silnik Pojazd silnikowy Rower Wóz konny Silnik elektryczny Silnik spalinowy Motocykl Samochód Pojazd silnikowy jest szczególnym rodzajem Pojazdu Motocykl jest szczególnym rodzajem Pojazdu silnikowego Pojazd silnikowy zawiera Silnik J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 49 / 81 Ponowne wykorzystanie klas Przy tworzeniu nowych klas mo na wykorzystywa ju istniej ce klasy za pomoc : kompozycji, dziedziczenia. Kompozycj stosuje si wtedy, gdy mi dzy klasami zachodzi relacja typu cało cz tzn. nowa klasa zawiera w sobie istniej c klas. Dziedziczenie stosuje si wtedy, gdy mi dzy klasami zachodzi relacja generalizacja specjalizacja tzn. nowa klasa jest szczególnym rodzajem juz istniej cej klasy. Uwaga: Zwykle tworzy si nowe klasy wykorzystuj c jednocze nie kompozycj i dziedziczenie np.: klasa Pojazd silnikowy jest uszczegółowieniem klasy Pojazd oraz zawiera w sobie klas Silnik. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 50 / 81

26 Kompozycja Kompozycj uzyskujemy poprzez definiowanie w nowej klasie pól, które s obiektami istniej cych klas. Przykład: Klasa Osoba zawiera: pola nazwisko i imie, które nale do klasy String. Klasa Ksi zka zawiera: pole autor nale ce do klasy Osoba, pole tytul nale ce do klasy String, pole cena typu double. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 51 / 81 Kompozycja - definicja klasy Osoba oraz Ksiazka class Osoba private String nazwisko, imie; public Osoba(String nazwisko, String imie) this.nazwisko = nazwisko; this.imie = imie; public String podajnazwisko() return nazwisko; public String podajimie() return imie; class Ksiazka private Osoba autor; private String tytul; double cena; public Ksiazka(Osoba autor, String tytul, double cena) this.autor = autor; this.tytul = tytul; this.cena = cena; public Osoba podajautor() return autor; public String podajtytul() return tytul; public double podajcena() return cena; J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 52 / 81

27 Kompozycja cd. Przykładowa instrukcja tworz ca nowy obiekt klasy Ksiazka: Ksiazka lektura = new Ksiazka( new Osoba( Sienkiewicz, Henryk ), Potop, 32.5 ); lektura Ksiazka autor tytul cena 32.5 Osoba nazwisko imie String Potop String Sienkiewicz String Henryk J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 53 / 81 Dziedziczenie Dziedziczenie polega na przej ciu wła ciwo ci i funkcjonalno ci obiektów innej klasy i ewentualnej modyfikacji tych wła ciwo ci i funkcjonalno ci w taki sposób, by były one bardziej wyspecjalizowane. Do wyra ania relacji dziedziczenia jednej klasy przez drug słu y słowo kluczowe extends class B extends A... Klasa B dziedziczy (rozszerza) klas A, tzn. klasa A jest klas bazow, (superklas ) klasy B klasa B jest klas pochodn klasy A J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 54 / 81

28 Przykład: Dziedziczenie cd. Klasa Publikacja zawiera: pole tytul z klasy String i pole cena typu double. Klasa Ksi zka dziedziczy po klasie Publikacja i dodatkowo zawiera: pole autor nale ce do klasy String. Klasa Czasopismo dziedziczy po klasie Publikacja i dodatkowo zawiera: pole numer typu int. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 55 / 81 Dziedziczenie cd. Przykładowe instrukcje tworz ce nowe obiekty klas Ksiazka i Czasopismo: Ksiazka lektura = new Ksiazka( Bolesław Prus, Lalka, ); Czasopismo gazeta = new Czasopismo( Przektój, 12, 3.90 ); lektura gazeta Ksiazka tytul cena autor Publikacja(...) podajtytul() podajcena() Ksiazka(...) podajautor() String Lalka Czasopismo tytul cena 3.90 numer 12 Publikacja(...) podajtytul() podajcena() Czasopismo(...) podajnumer() String Bolesław Prus String Przekrój J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 56 / 81

29 Inicjowanie obiektów przy dziedziczeniu Pola klasy bazowej mo na inicjowa za pomoc wywołania z konstruktora klasy pochodnej konstruktora klasy bazowej: super(args); gdzie args jest list argumentów przekazanych do konstruktora klasy bazowej Je li konstrukcja super(...) wyst puje, MUSI by pierwsz instrukcj konstruktora klasy pochodnej. Gdy nie wyst puje, przed wykonaniem kodu klasy pochodnej zostanie wywołany konstruktor bezparametrowy klasy bazowej. Przykład: Czasopismo(String tytul, int numer, double cena) super(tytul, cena); this.numer = numer; Wywołanie konstruktora klasy bazowej J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 57 / 81 Przeci anie metod Przeci anie metod w klasie polega na definiowaniu wielu metod o tej samej nazwie ale odmiennej li cie parametrów. Przeci ane mog by zarówno konstruktory jak i metody statyczne i niestatyczne. Przykład: class Para int a, b; Para() System.out.println(" Konstruktor bezparametrowy"); a = b = 0; Para(int x, int y) System.out.println(" Konstruktor z parametrami"); a = x; b = y; void pokaz() System.out.println("Metoda bez parametru"); System.out.println("Para("+ a +", "+ b +")" ); void pokaz(string tekst) System.out.println("Metoda z parametrem"); System.out.print(tekst); pokaz(); Przeci one konstruktory Przeci one konstruktory metody Wywołanie metody przeci onej J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 58 / 81

30 Przeci anie metod cd. public static void main(string[] args) System.out.println("<=== Tworzenie obiektow ===>"); Para p1 = new Para(); Para p2 = new Para(3,7); System.out.println("\n<=== Metoda pokaz bez parametru ===>"); p2.pokaz(); System.out.println("\n<=== Metoda pokaz z parametrem ===>"); p2.pokaz("para p2: "); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 59 / 81 Przedefiniowanie metody Przedefiniowanie metody klasy bazowej w klasie pochodnej nast puje wtedy, gdy w klasie pochodnej zdefiniujemy metod z tak sam sygnatur (nazwa i lista parametrów) i typem wyniku jak sygnatura i typ wyniku nieprywatnej i niestatycznej metody klasy bazowej. Wówczas metoda klasy bazowej zostaje ukryta. Przykład: class Para int a, b; Para(int x, int y) System.out.println(" Konstruktor z parametrami"); a = x; b = y; void pokaz() System.out.println("Metoda bez parametru z klasy Para"); System.out.println("Para("+ a +", "+ b +")" ); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 60 / 81

31 Przedefiniowanie metody cd. class Trojka extends Para int c; Trojka(int x, int y, int z) super(x, y); c = z; void pokaz() System.out.println("Metoda bez parametru z klasy Trojka"); System.out.println("Trojka("+ a +", "+ b +", "+ c +")" ); void pokaz(string tekst) System.out.println("Metoda z parametrem z klasy Trojka"); System.out.println(tekst); pokaz(); super.pokaz(); public static void main(string[] args) System.out.println("<=== Tworzenie obiektow ===>"); Trojka t1 = new Trojka(1, 2, 3); System.out.println("\n<=== Metoda pokaz bez parametru ===>"); t1.pokaz(); System.out.println("\n<=== Metoda pokaz z parametrem ===>"); t1.pokaz("trojka t1: "); Wywołanie konstruktora klasy bazowej Przedefiniowanie metody z klasy bazowej Przeci enie metody Wywołanie metody przedefiniowanej Wywołanie metody z klasy bazowej J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 61 / 81 Przedefiniowanie metody cd. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 62 / 81

32 Pokrycie metody statycznej Pokrycie metody statycznej klasy bazowej w klasie pochodnej nast puje wtedy, gdy w klasie pochodnej zdefiniujemy statyczn metod z tak sam sygnatur (nazwa i lista parametrów) i typem wyniku jak sygnatura i typ wyniku nieprywatnej i statycznej metody klasy bazowej. Wówczas metoda klasy bazowej zostaje ukryta. Mo na si do niej odwoła z innej metody poprzedzaj c wywołanie metody nazw klasy bazowej i operatorem.. Uwaga: W podobny sposób mo na pokrywa pola klasy bazowej. Nale y w klasie pochodnej zdefiniowa pole o tej samej nazwie (mo e by innego typu). J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 63 / 81 Hierarchia dziedziczenia w Javie Je li przy definicji klasy nie u ywamy słowa extends (tzn. nie damy jawnie dziedziczenia) to nasza klasa domy lnie dziedziczy klas Object. W Javie ka da klasa mo e bezpo rednio odziedziczy tylko jedn klas. Ale po rednio mo e mie dowolnie wiele nadklas. W Javie wszystkie klasy pochodz po rednio od klasy Object class A class B extends A class C extends A class D extends B class E extends E J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 64 / 81

33 Konwersje referencyjne Mo na zauwa y, e obiekt klasy pochodnej posiada wszystkie atrybuty i metody klasy bazowej, a wi c zawiera w sobie obiekt klasy bazowej (nadklasy). Dlatego odniesienie do takiego obiektu mo na zapami ta w zmiennej referencyjnej klasy bazowej. Obiekty klasy Ksiazka i klasy Czasopismo maj wła ciwo ci obiektów klasy Publikacja (tzn. posiadaj wszystkie atrybuty i metody klasy Publikacja). Referencje do obiektów klas Ksiazka i Czasopismo mo na wi c przypisywa do zmiennych referencyjnych klasy Publikacja. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 65 / 81 Konwersje referencyjne cd. Przykładowe instrukcje tworz ce nowe obiekty klas Ksiazka i Czasopismo: Publikacja publ_1 = new Ksiazka( Bolesław Prus, Lalka, ); Publikacja publ_2 = new Czasopismo( Przektój, 12, 3.90 ); publ_1 publ_2 Ksiazka tytul cena autor Publikacja(...) podajtytul() podajcena() Ksiazka(...) podajautor() String Lalka Czasopismo tytul cena 3.90 numer 12 Publikacja(...) podajtytul() podajcena() Czasopismo(...) podajnumer() String Bolesław Prus String Przekrój J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 66 / 81

34 Metody wirtualne Je li w podklasie (klasie pochodnej) zostanie przedefiniowana jaka metoda, zdefiniowana pierwotnie w nadklasie (klasie bazowej) to przy wywołaniu tej metody zostanie uruchomiona metoda tej klasy, do której faktycznie nale y obiekt, a nie tej klasy która jest typem zmiennej referencyjnej zawieraj cej odniesienie do obiektu. Oznacza to, e wi zanie odwoła do metod z kodem programu nast puje nie w czasie kompilacji programu, lecz fazie wykonania programu tu przed ka dorazowym wykonaniem instrukcji wywołuj cej przedefiniowan metod. Metody wirtualne to takie metody, dla których wi zanie odwoła z kodem programu nast puje w fazie wykonania programu J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 67 / 81 Metody wirtualne cd. Metody wirtualne to takie metody, dla których wi zanie odwoła z kodem programu nast puje w fazie wykonania programu W Javie wszystkie metody s wirtualne za wyj tkiem: metod statycznych (bo nie dotycz obiektów, a klasy) metod deklarowanych ze specyfikatorem final, który oznacza, e metoda jest ostateczne i nie mo e by przedefiniowana, metod prywatnych (bo metody prywatne nie mog zosta przedefiniowane). Odwołania do metod wirtualnych s polimorficzne, gdy efekt ka dorazowego odwołania mo e przybiera ró ne kształty, w zale no ci od tego jaki jest faktyczny typ obiektu, na rzecz którego wywołano metod wirtualn. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 68 / 81

35 Metody wirtualne - przykład. class Zwierz String nazwa = "nieznany"; Zwierz() Zwierz(String n) nazwa = n; String podajgatunek() return "Jakis zwierz"; String podajnazwe() return nazwa; String podajglos() return "?"; void mowa() System.out.println(podajGatunek() + " " + podajnazwe() + " mowi " + podajglos() ); Metody podajgatunek(), podajnazwe(), podajglos() s wirtualne. class Pies extends Zwierz Pies() Pies(String n) super(n); String podajgatunek() return "Pies"; String podajglos() return "HAU HAU!"; Działanie metod wirtualnych wywołanych w metodzie mowa() b dzie zale e od klasy obiektu, na rzecz którego zostanie wywołana metoda mowa(). class Kot extends Zwierz Kot() Kot(String n) super(n); String podajgatunek() return "Kot"; String podajglos() return "Miauuu..."; J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 69 / 81 Metody wirtualne przykład cd. class ZOO static void dialogzwierzat(zwierz z1, Zwierz z2) z1.mowa(); z2.mowa(); System.out.println(" "); public static void main(string []args) Zwierz z1 = new Zwierz(), z2 = new Zwierz("Inny zwierz"); Pies pies = new Pies(), szarik = new Pies("Szarik"), reksio = new Pies("Reksio"); Kot filemon = new Kot("Filemon"); dialogzwierzat(z1, z2); dialogzwierzat(szarik, reksio); dialogzwierzat(pies, filemon); dialogzwierzat(szarik, filemon); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 70 / 81

36 Metody i klasy abstrakcyjne Metoda abstrakcyjna to metoda, która nie ma implementacji (ciała) i jest zadeklarowana ze specyfikatorem abstract. Taka metoda mo e by deklarowana tylko w klasie abstrakcyjnej! abstract int obliczcos(); nie ma ciała tylko rednik Klas abstrakcyjn to klasa, opatrzona specyfikatorem abstract. Taka klasa mo e (ale nie musi) zawiera metody abstrakcyjne. abstract class JakasKlasa metoda abstrakcyjna abstract int obliczcos(); void wypiszcos() System.out.printn( cos ); Nie mo na tworzy obiektów klasy abstrakcyjnej!!! J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 71 / 81 Metody i klasy abstrakcyjne cd. Klasa abstrakcyjna mo e by dziedziczona przez nowe klasy. Klasa pochodna MUSI przedefiniowa (a wła ciwie zdefiniowa ) wszystkie metody abstrakcyjne, które odziedziczyła z abstrakcyjnej klasy bazowej. W przeciwnym wypadku klasa pochodna nadal pozostanie klas abstrakcyjn i nie b dzie mo na tworzy jej obiektów. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 72 / 81

37 Interfejsy Interfejs w Javie to deklarowany za pomoc słowa kluczowego interface nazwany zbiór deklaracji zawieraj cy: publiczne abstrakcyjne metody (bez implementacji), publiczne statyczne zmienne finalne (stałe) o ustalonych typach i warto ciach. Implementacja interfejsu w klasie polega na zdefiniowaniu w tej klasie wszystkich metod zadeklarowanych w implementowanym interfejsie. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 73 / 81 Interfejsy cd. Ogólna posta definicji interfejsu w j zyku Java: public interface NazwaInterfejsu typ nazwazmiennej = wartosc;... Uwagi: typ nazwametody(lista_parametrów);... modyfikator dost pu public przed słowem interface mo e nie wyst powa - wówczas interfejs jest dost pny tylko w bie cym pakiecie, zmienne s zawsze typu staticfinal i maj przypisan warto stał, metody s zawsze abstrakcyjne (bez implementacji). J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 74 / 81

38 Implementacja interfejsu Ogólna posta definicji klasy implementuj cej interfejs w j zyku Java: Uwagi: public class NazwaKlasy extends KlasaBazowa implements NazwaInterfejsu_1,..., NazwaInterjejsu_n... modyfikator dost pu public przed słowem class mo e nie wyst powa - wówczas klasa jest dost pna tylko w bie cym pakiecie, klasa mo e ale nie musi dziedziczy inn klas (słowa extendsklasabazowa mog nie wyst powa ) klasa mo e implementowa wiele interfejsów, klasa musi definiowa WSZYSTKIE metody implementowanych interfejsów albo pozosta klas abstrakcyjn. klasa mo e zawiera własne (nie b d ce cz ci interfejsu) atrybuty i metody. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 75 / 81 Implementacja interfejsu przykład Przykład zawiera implementacj klas reprezentuj cych ró ne gatunki zwierz t. Cze zwierz t potrafi pływa, Niektóre potrafi wydawa odgłosy. J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 76 / 81

39 Implementacja interfejsu przykład /** * Interfejs definiuj cy metody * dla obiektów pływaj cych w wodzie */ interface Plywa float podajglebokosc(); /** * Interfejs definiuj cy metody * dla obiektów wydaj cych glosy */ interface WydajeGlos String podajglos(); /** * Klasa abstrakcyjna reprezentuj ca zwierz ta */ abstract class Zwierz String nazwa; Zwierz(String nazwa) this.nazwa = nazwa; public String podajnazwe()return nazwa; public abstract String podajgatunek(); public abstract void info(); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 77 / 81 Implementacja interfejsu przykład cd. Klasa Ryba jest klas pochodn Zwierz, która implementuje interfejs Plywa, natomiast klasa Kot implementuje interfejs WydajeGlos class Ryba extends Zwierz implements Plywa float glebokosc; Ryba(String nazwa, float glebokosc) super(nazwa); this.glebokosc = glebokosc; public String podajgatunek() return "Ryba"; public float podajglebokosc() return glebokosc; public void info() System.out.println(podajNazwe() + " pływa na gł boko ci " + podajglebokosc() ); class Kot extends Zwierz implements WydajeGlos Kot(String nazwa) super(nazwa); public String podajgatunek() return "Kot"; public String podajglos() return "Miauuu"; public void info() System.out.println(podajNazwe() + " mówi " + podajglos()); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 78 / 81

40 Implementacja interfejsu przykład cd. Klasa Kaczka jest klas pochodn Zwierz, która implementuje zarówno interfejs Plywa jak i interfejs WydajeGlos class Kaczka extends Zwierz implements Plywa, WydajeGlos Kaczka(String nazwa) super(nazwa); public String podajgatunek() return "Kaczka"; public float podajglebokosc() return 0.0F; public String podajglos() return "Kwa Kwa"; public void info() System.out.println(podajNazwe() + " pływa po powierzchni i mówi + podajglos() ); J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 79 / 81 Interfejs i zmienne referencyjne Interfejsy, podobnie jak klasy wyznaczaj typy zmiennych referencyjnych. Przykład: Deklaracja zmiennej, której typem jest interfejs WydajeGlos wg1, wg2; Warto ci takiej zmiennej mo e by odwołanie do obiektu dowolnej klasy, która implementuje ten interfejs. wg1 = new Kaczka( Dziwaczka ); wg2 = new Kot( Bonifacy ); Przy wykonywaniu powy szych przypisa nast puje referencyjna konwersja rozszerzaj ca referencji wskazuj cej na nowy obiekt do typu interfejsu (implementowany interfejs jest traktowany podobnie jak klasa bazowa). J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 80 / 81

41 Nazwa pliku: 06_Java_Streszczenie.doc Katalog: C:\Documents and Settings\pawel\Moje dokumenty\www\idun\dydaktyka\zaoczne_pr og_wsp\wyklad_java Szablon: C:\Documents and Settings\pawel\Dane aplikacji\microsoft\szablony\normal.dot Tytuł: 1 Temat: Autor: pawel Słowa kluczowe: Komentarze: Data utworzenia: :03:00 Numer edycji: 148 Ostatnio zapisany: :44:00 Ostatnio zapisany przez: pawel Całkowity czas edycji: minut Ostatnio drukowany: :32:00 Po ostatnim całkowitym wydruku Liczba stron: 81 Liczba wyrazów: (około) Liczba znaków: (około) Interfejs i zmienne referencyjne cd. Przez zmienn której typem jest interfejs mo na wywoła dowoln metod zadeklarowan w tym interfejsie: System.out.println( wg1.podajglos() ); // wypisze Kwa Kwa System.out.println( wg2.podajglos() ); // wypisze Miauuu Wywoła si poprawna wersja metody, odpowiednio dla faktycznego obiektu wskazywanego przez zmienn. Wywołanie innej metody, która nie została zdefiniowana w interfejsie, jest mo liwe wył cznie po u yciu jawnej konwersji zaw aj cej: ((Zwierz)wg1).info(); // wypisze Dziwaczka pływa po powierzchni i mówi Kwa Kwa ((Zwierz)wg2).info(); // wypisze Bonifacy mówi Miauuu J zyka Java cz. 1 Autor: Paweł Rogali ski Instytut Informatyki, Automatyki i Robotyki PWr 81 / 81

Kompozycja i dziedziczenie klas

Kompozycja i dziedziczenie klas Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas

Bardziej szczegółowo

Kompozycja i dziedziczenie klas

Kompozycja i dziedziczenie klas Związki między klasami: jest i zawiera Programowanie obiektowe Przkład: Pojazd Kompozycja i dziedziczenie klas Silnik Pojazd silnikowy Rower Wóz konny Paweł Rogaliński Instytut Informatyki, Automatyki

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

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

Definiowanie własnych klas

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

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

Język Java część 1 (streszczenie)

Język Java część 1 (streszczenie) Komentarze w Javie Programowanie współbieżne Język Java część 1 (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Komentarz

Bardziej szczegółowo

Język Java część 1 (streszczenie)

Język Java część 1 (streszczenie) Programowanie współbieżne Język Java część 1 (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Język Java Streszczenie

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Abstrakcja Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Świat rzeczywisty jest bardzo złoŝony i nie jest moŝliwe

Bardziej szczegółowo

Podstawy języka Java. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Podstawy języka Java. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Podstawy języka Java Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Podstawy języka Java Autor: Paweł Rogaliński

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

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

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie 0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na

Bardziej szczegółowo

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić

Bardziej szczegółowo

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Java Język programowania

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

Podstawy języka Java. Programowanie obiektowe. Podstawowe elementy języka

Podstawy języka Java. Programowanie obiektowe. Podstawowe elementy języka Programowanie obiektowe Podstawy języka Java Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Podstawy języka Java Autor: Paweł Rogaliński

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

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo

Bardziej szczegółowo

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. PROGRAMOWANIE OBIEKTOWE W C++ - cz 1 Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. Program komputerowy opisuje w pewien sposób rzeczywisto.

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

Podstawowe części projektu w Javie

Podstawowe części projektu w Javie Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy 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ół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

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

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

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

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

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

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

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

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

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

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Materiały pomocnicze do wykładu 3 - Elementy języka Java Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - 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ół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

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

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

Bardziej szczegółowo

PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.

PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu

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

Języki i metody programowania Java. Wykład 2 (część 2)

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

1. 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? 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ół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

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Języki i metody programowania Java INF302W Wykład 2 (część 1) Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja

Bardziej szczegółowo

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

Bardziej szczegółowo

Dziedziczenie. Tomasz Borzyszkowski

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt

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

Programowanie w Javie wykład 7 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Bloki inicjalizacyjne

Programowanie w Javie wykład 7 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Bloki inicjalizacyjne 1 Programowanie w Javie wykład 7 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Bloki inicjalizacyjne Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ Sterowanie Zak lad Chemii Teoretycznej UJ 29 października 2007 1 2 3 4 arytmetyczne +, -, *, / % (dzielenie modulo) operatory sa lewostronnie l aczne priorytety: (*, /, %), (+, -) nie istnieje operator

Bardziej szczegółowo

Interfejsy i klasy wewnętrzne

Interfejsy i klasy wewnętrzne Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw

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

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas

Bardziej szczegółowo

Programowanie obiektowe

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

Aplikacje w Javie wykład 5 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Interfejsy

Aplikacje w Javie wykład 5 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Interfejsy Aplikacje w Javie wykład 5 1 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Interfejsy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

PHP 5 język obiektowy

PHP 5 język obiektowy PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI)

Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Dziedziczenie 221 Dziedziczenie Dziedziczenie

Bardziej szczegółowo

Wykład 5: Więcej o Klasach i Metodach

Wykład 5: Więcej o Klasach i Metodach Wykład 5: Więcej o Klasach i Metodach Przeciążanie Metod Klasa posiada dwie lub więcej metod o tej samej nazwie ale różnych deklaracjach parametrów. Java używa liczby i typów argumentów by ustalić którą

Bardziej szczegółowo

1. Podstawy budowania wyra e regularnych (Regex)

1. Podstawy budowania wyra e regularnych (Regex) Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra

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

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

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

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Programowanie w Javie - wykład 3

Programowanie w Javie - wykład 3 Pakiety import Klasy dziedziczenie Programowanie w Javie - wykład 3 Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/

Bardziej szczegółowo

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/

Bardziej szczegółowo

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 13 Klasy Klasa to grupa obiektów, które mają wspólne właściwości, a obiekt jest instancją klasy. Klasa w języku Java może zawierać: pola - reprezentują stan obiektu (odniesienie do pola z kropką), methods

Bardziej szczegółowo

KLASY, INTERFEJSY, ITP

KLASY, INTERFEJSY, ITP KLASY, INTERFEJSY, ITP ZAGADNIENIA: Klasy, modyfkatory dostępu, pakiety. Zmienne i metody statyczne. Klasy abstrakcyjne, dziedziczenie. Interfejsy. Komentarze i javadoc, http://th-www.if.uj.edu.pl/zfs/ciesla/

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykład 5 Okna MDI i SDI, dziedziczenie Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie

Bardziej szczegółowo

Praca na wielu bazach danych część 2. (Wersja 8.1)

Praca na wielu bazach danych część 2. (Wersja 8.1) Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

Programowanie w Javie - wykład 2

Programowanie w Javie - wykład 2 Programowanie w Javie - wykład 2 Java-wprowadzenie (instrukcje sterujące) Klasy podstawy Pakiety Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN,

Bardziej szczegółowo

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje

Bardziej szczegółowo

Programowanie w Javie wykład 8 Interfejsy

Programowanie w Javie wykład 8 Interfejsy 1 Programowanie w Javie wykład 8 Interfejsy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 Barteczko, JAVA Uniwersalne techniki programowania,

Bardziej szczegółowo