1 / 38 JAVA - OOP. Programowanie w środowisku rozproszonym. Wykład -01[SUM]
|
|
- Zdzisław Skowroński
- 8 lat temu
- Przeglądów:
Transkrypt
1 1 / 38 JAVA - OOP Programowanie w środowisku rozproszonym. Wykład -01[SUM]
2 Plan wykładu 2 / 38 Obiektowa analiza i projektowanie - wstęp do programowania obiektowego w Javie Paradygmaty programowania obiektowego Enkapsulacja (hermetyzacja) Dziedziczenie (rozszerzanie) klas a przyrostowa rozbudowa systemu informatycznego Rzutowanie Polimorfizm Proste przykłady analizy i projektowania obiektowego Diagramy UML
3 Programowanie obiektowe - wstęp 3 / 38 Programowanie obiektowe (orientowane na obiekt lub obiektowo-orientowane) określony sposób tworzenia programów, wspierany przez róŝne języki programowania obiektowego; metodologia, której główne paradygmaty to: Obiekt Klasa Abstrakcja Enkapsulacja (hermetyzacja, ukrywanie) Dziedziczenie (rozszerzanie, generalizacja) Rzutowanie Polimorfizm
4 Programowanie obiektowe wstęp (2) 4 / 38 Programowanie proceduralne: Program jako zbiór funkcji (procedur) realizujących określone zadanie Czasem brakuje wyraźnego (na pierwszy rzut oka) powiązania między funkcjami a danymi, z których korzysta program Programowanie obiektowe: Głównym elementem konstrukcji programów jest obiekt, który łączy w sobie (w logiczny i naturalny sposób) dane i metody na nich operujące Obiektowy program to zbiór dynamicznie tworzonych obiektów, które wzajemnie ze sobą współpracują
5 Programowanie obiektowe wstęp (3) 5 / 38 Historia programowania obiektowego w skrócie: Simula I (1962) oraz Simula 67 (1967) pierwsze języki programowania obiektowego, wprowadzały pojęcie klasy, obiektu, dziedziczenia Smalltalk (od 1971) bazujący na Simuli, wprowadzał GUI C++ (początek lat 80 tych u.w.) przeniesienie koncepcji programowania obiektowego z Simuli do C W latach 80-tych powstawały równieŝ obiektowe odmiany innych języków np. Pascal a, Lisp a, Basic a, Ady Java - zapoczątkowana w 1991 roku, pierwsza publiczna wersja w 1995, zdobywa popularność jako język do zastosowań sieciowych (okres szybkiego rozwoju Internetu)
6 Programowanie obiektowe wstęp (4) 6 / 38 Obiektowa analiza, projektowanie i programowanie opierają się na naturalnych dla człowieka mechanizmach: Mózg ludzki postrzega otaczający nas świat jako zbiór obiektów (człowiek, zwierzę, roślina, przedmiot ) Mózg nieustannie dokonuje klasyfikacji obiektów - łączy obiekty w grupy/klasy (często w sposób hierarchiczny), na podstawie występujących między nimi podobieństw Klasyfikacja ta odbywa się na róŝne sposoby, zaleŝnie od przyjętych w danej chwili kryteriów - przykładowo, dany zbiór artykułów gospodarstwa domowego, moŝna podzielić w róŝny sposób na klasy, raz biorąc pod uwagę np. wagę przedmiotu, a innym razem np. zastosowanie, wymiary, materiał z jakiego zostały zrobiony, kolorystykę itp.
7 Pojęcie obiektu i klasy 7 / 38 Obiekt (w rzeczywistości) zwykle jest rozumiany jako coś materialnego np. drzewo, kamień, kałuŝa, pies, koń, ręka... Obiekt (obiektowa analiza, projektowanie, programowanie): Element mający logiczne uzasadnienie i znaczenie w rozpatrywanym (na pewnym poziomie abstrakcji) modelu Obiektem moŝe być wszystko co tylko daje się opisać, przedstawić w postaci zbioru określonych cech (dane) i/lub zachowań (metody) np. ksiąŝka, praca, człowiek MoŜe lecz nie musi posiadać swego rzeczywistego, tzn. materialnego odpowiednika; np. w programie pocztowym obiektem moŝe być adres osoby (dane: ulica, miasto, kod, ), czy teŝ załącznik do a (nazwa, typ, dane)
8 Pojęcie obiektu i klasy (2) 8 / 38 Obiekt posiada następujące cechy: Strukturę (budowę) która określa ilość i rodzaj informacji, danych przechowywanych w obiekcie (atrybuty obiektu) Stan czyli aktualną zawartość atrybutów obiektu ToŜsamość kaŝdy obiekt daje się jednoznacznie zidentyfikować oraz rozróŝnić od innych obiektów UWAGA: jeśli dwa obiekty naleŝą do tej samej klasy i przechowują (w danej chwili) dokładnie te same dane, to róŝnią się przynajmniej lokalizacją w pamięci komputera i choćby na tej tylko podstawie są rozróŝnialne Zachowanie czyli zbiór metod operujących na obiekcie, jednakowy dla wszystkich obiektów w ramach danej klasy
9 Pojęcie obiektu i klasy (3) 9 / 38 Klasa jest to wzorzec dla obiektów, szablon z którego tworzone są nowe obiekty. Klasa określa zbiór danych oraz metod jakie posiadać będą powstałe z niej obiekty. Intuicja: KaŜdą klasę moŝna przyrównać do foremki, przy pomocy której robi się ciastka. Jedna foremka, czyli klasa = wiele podobnych (bądź jednakowych) ciastek, czyli obiektów Inne porównanie gdyby ktoś napisał na tablicy, czym wg niego jest np. ksiąŝka (dokument posiadający treść, tytuł, autora, określoną ilość stron), a następnie wziął do ręki dwie ksiąŝki, to ksiąŝki te byłyby obiektami, a definicja na tablicy klasą, czyli opisem ich najwaŝniejszych cech.
10 Paradygmaty obiektowości 10 / 38 Programowanie obiektowe to oprócz wykorzystania klas i obiektów do budowy aplikacji, takŝe umiejętne stosowanie pozostałych cech obiektowości: Abstrakcji Enkapsulacji (hermetyzacji) Dziedziczenia Rzutowania Polimorfizmu
11 Paradygmaty obiektowości - abstrakcja 11 / 38 Abstrakcja klasa nie musi uwzględniać wszystkich szczegółów obiektów, powinna skupiać się na cechach istotnych z punktu widzenia tworzonej aplikacji. Tworząc np. bazę danych studentów na potrzeby uczelni, prawdopodobnie nie trzeba w obiektach klasy Student przechowywać wszystkich moŝliwych informacji o danej osobie, jak np. obwód w pasie, waga, kolor skóry, płeć, itp. Być moŝe wystarczy tylko imię, nazwisko i numer indeksu.. Tak więc gdy osobie, której dokładny opis zajął by zapewne wiele stron, przypisujemy obiekt posiadający zaledwie kilka wybranych cech - jest to pewna umowność, abstrakcja.
12 Abstrakcja (2) 12 / 38 Abstrakcja jako cecha obiektowości moŝe być rozpatrywana równieŝ na innych poziomach np. w kontekście zachowań przypisanych do danych klas (obiektów). KaŜdy obiekt pełni w systemie informatycznym określoną rolę. Aby spełniać swoją rolę obiekt posiada pola i metody realizujące stosowne obliczenia, operacje. Korzystanie z obiektu nie wymaga pełnej wiedzy na temat sposobu, w jaki zostały zaimplementowane jego metody zatem abstrahujemy od szczegółów implementacyjnych a skupiamy się na przeznaczeniu obiektu, na sposobie w jaki moŝna uŝyć obiekt w programie.
13 Paradygmaty obiektowości - enkapsulacja 13 / 38 Enkapsulacja (hermetyzacja) jest to ukrywanie pewnych szczegółów implementacyjnych, danych i/lub metod obiektu. Ukrywanie pól i metod w Javie realizowane jest za pomocą tzw. modyfikatorów dostępu (public, protected, private..). Enkapsulacja ułatwia m.in. podział pracy (pracę zespołową), gdyŝ np. osoby odpowiedzialne za opracowanie interfejsu uŝytkownika aplikacji nie muszą wiedzieć jakich algorytmów program uŝywa np. do obliczania rabatu - interesuje ich tylko to, w jaki sposób naleŝy odczytać wartość rabatu dla konkretnego produktu (gdyŝ ich zadaniem jest umieszczenie tej wartości w odpowiednim miejscu okna aplikacji).
14 Enkapsulacja (2) 14 / 38 Intuicja: Jesteśmy przyzwyczajeni do tego, iŝ (czasem) do obsługi skomplikowanych urządzeń (jak np. magnetowid, telewizor) wystarczy krótka instrukcja lub tzw. pilot. Nie musimy np. znać dokładnej budowy i zasad działania telewizora waŝne, Ŝe przy pomocy pilota potrafimy włączać i wyłączać telewizor, a takŝe zmieniać na nim kanały. Uproszczenie obsługi, ograniczenie ilości dostępnych funkcji do niezbędnego minimum ułatwiają wykorzystanie i zmniejszają ryzyko nieumyślnego zepsucia urządzenia to samo tyczy się tworzonego przez nas oprogramowania.
15 Enkapsulacja (3) 15 / 38 Brak enkapsulacji : Po zastosowaniu enkapsulacji :
16 Enkapsulacja (4) 16 / 38 Enkapsulacja ma sens równieŝ w przypadku gdy aplikację tworzy jeden programista, gdyŝ: Ułatwia późniejsze wykorzystanie gotowych i przetestowanych elementów w innych programach Zmniejsza ryzyko popełnienia błędu przy aktualizacji danych przechowywanych w obiekcie. Przykład: Proszę wyobrazić sobie obiekt klasy KontoBankowe, który ma pola: stankonta oraz dostępneśrodki, gdzie dostępneśrodki = stankonta + limit kredytu. Zmiana wartości pól stankonta i dostępneśrodki powinna odbywać się równocześnie! Co więcej, dostępneśrodki nie mogą być wartością ujemną, przed czym równieŝ zabezpieczy nas enkapsulacja.
17 Programowanie obiektowe - dziedziczenie 17 / 38 Dziedziczenie (rozszerzanie, generalizacja, ang.inheritance) - to tworzenie nowej klasy na bazie juŝ istniejącej: Klasa nadrzędna zwana jest takŝe bazową, podstawową, nadklasą Klasa dziedzicząca zwana jest równieŝ klasą podrzędną, pochodną, rozszerzającą, podklasą: - dziedziczy pola i metody klasy bazowej (z wyjątkiem pól i metod oznaczonych jako prywatne) - moŝe posiadać dodatkowe pola i metody w stosunku do klasy bazowej (rozszerzać listę atrybutów i metod) - przedefiniowywać metody z klasy bazowej, jest to tzw. przesłanianie
18 Dziedziczenie (2) 18 / 38 Przykład 1: Weźmy jako przykład klasę Osoba oraz jej dwie klasy pochodne: Student i Nauczyciel. Osoba + imię : String + nazwisko : String Student Nauczyciel + numerindeksu : int + tytułnaukowy : String Klasy Student i Nauczyciel dziedziczą pola imię i nazwisko z klasy Osoba. Wnoszą teŝ własne atrybuty czyli rozszerzają naszą wiedzę o klasie Osoba.
19 Dziedziczenie (3) 19 / 38 Dziedziczenie w Javie jest realizowane za pomocą poleceń extends i implements, umieszczanych w deklaracji tuŝ po nazwie klasy. Dziedziczenie zwane jest takŝe rozszerzaniem od słowa extends (rozszerza). public class Osoba { } public String imie, nazwisko; public class Student extends Osoba { } public int numerindeksu; public class Nauczyciel extends Osoba { } public String tytulnaukowy;
20 Dziedziczenie (4) 20 / 38 Przykład 2: Stwórzmy klasę Prostokat, z metodą obliczpole(), a następnie klasę pochodną Kwadrat. Prostokat + wysokosc : float + szerokosc : float + obliczpole() : float Kwadrat + Kwadrat( dłboku : float ) Proszę zauwaŝyć, iŝ klasa Kwadrat dziedziczy z klasy bazowej Prostokat metodę obliczpole().
21 Rozszerzanie klas w Javie (2) 21 / 38 Przykład 2: public class Prostokat { public float wysokosc, szerokosc; } public float obliczpole() { } return wysokosc * szerokosc; public class Kwadrat extends Prostokat { public Kwadrat( float dlugoscboku ) { wysokosc = dlugoscboku; szerokosc = dlugoscboku; } }
22 Dziedziczenie (5) 22 / 38 MoŜna teraz utworzyć obiekty obu tych klas i wypisać na ekranie pola tych figur korzystając z metody obliczpole(): Prostokat p = new Prostokat(); p.wysokosc = 15; p.szerokosc = 15; System.out.println( Pole prostokąta = + p.obliczpole() ); Kwadrat kwadrat = new Kwadrat( 10 ); System.out.println( Pole kwadratu = + kwadrat.obliczpole() ); Istotny jest równieŝ fakt, iŝ kwadrat jest szczególnym przypadkiem prostokąta. W ten sposób dochodzimy do kolejnej istotnej cechy obiektowości - do rzutowania.
23 Programowanie obiektowe - rzutowanie 23 / 38 Rzutowanie jest to zamiana typu zmiennej. int i = 100; long l = i; i = (int) l; //rzutowanie zmiennej typu int na typ long //przykład rzutowania zmiennej long na int Rzutowanie dotyczy nie tylko typów prostych, lecz równieŝ zmiennych obiektowych, co ilustruje poniŝszy przykład: Kwadrat kwadrat = new Kwadrat( 10 ); Prostokat p = kwadrat; //poprawne rzutowanie zmiennej //obiektowej typu Kwadrat na //zmienną typu Prostokat Prostokat p2 = new Kwadrat( 10 ); //teŝ poprawne
24 Programowanie obiektowe - polimorfizm 24 / 38 Z rzutowaniem wiąŝe się kolejna bardzo waŝna cecha obiektowości polimorfizm. Polimorfizm to wywołanie metody odpowiedniej dla rzeczywistego typu obiektu, niezaleŝnie od typu zmiennej obiektowej wskazującej na ten obiekt. Przesłanianie - tworzenie metody w klasie pochodnej, o tej samej nazwie, z tym samym zestawem argumentów i takim samym typem zwracanej wartości jak w klasie nadrzędnej.
25 Przesłanianie metod a polimorfizm (2) 25 / 38 Przykład 1 - przesłanianie metody class Osoba { public String imię, nazwisko; } public void wyswietlinfo() { System.out.println( nazwisko + + imię ); } class Student extends Osoba { public int nrindeksu; } public void wyswietlinfo() { //przesłanianie metody System.out.println( imię.charat(0) +. + nazwisko + ( + nrindeksu + ) ); }
26 Przesłanianie metod a polimorfizm (3) 26 / 38 Przykład 1 (c.d.) public class Test { public static void main( String[] args ) { Osoba o = new Osoba(); o.imię = "Jan"; o.nazwisko = "Kowalski"; Student student = new Student(); student.imię = "Jan"; student.nazwisko = "Kowalski"; student.nrindeksu = 190; } } o.wyswietlinfo(); //Kowalski Jan o = student; //o wskazuje teraz na //obiekt klasy Student o.wyswietlinfo(); //J. Kowalski (190)
27 Rozszerzanie klas w Javie (3) 27 / 38 Wszystkie klasy w Javie (za wyjątkiem klasy Object) posiadają dokładnie jedną(!) nadklasę. MoŜe to być klasa określona przez programistę za pomocą słowa kluczowego extends bądź teŝ klasa java.lang.object, z której dziedziczą wszystkie inne klasy w Javie (pośrednio lub bezpośrednio). Przykłady: class Osoba {} - klasa Osoba dziedziczy tylko z klasy java.lang.object (w sposób niejawny) class Student extends Osoba {} - tak zadeklarowana klasa Student rozszerza klasę Osoba, zatem dziedziczy równieŝ z java.lang.object
28 Klasa bazowa java.lang.object 28 / 38 Klasa java.lang.object posiada m.in. metodę tostring(), która słuŝy do wypisania zawartości obiektu na ekran (inaczej mówiąc metoda ta zwraca tekstową reprezentację obiektu w postaci String a). Metoda ta jest uŝywana (niejawnie, przez kompilator) np. w momencie gdy w programie dokonuje się połączenia dowolnego obiektu z obiektem typu String za pomocą operatora +, bądź gdy obiekt zostaje uŝyty w miejscu, gdzie kompilator spodziewa się obiektu typu String (np. metoda System.out.println).
29 Przesłanianie a klasa java.lang.object (2) 29 / 38 Przesłanianie metody tostring moŝe okazać się przydatne, jeśli chcemy wyświetlać informacje o zawartości obiektów utworzonej wcześniej klasy. Przykład - przesłanianie metody tostring() class Osoba { String imie, nazwisko; Osoba(String imie, String nazwisko) { this.imie = imie; this.nazwisko = nazwisko; } } public String tostring() { return nazwisko + " " + imie; }
30 Przesłanianie a klasa java.lang.object (3) 30 / 38 Przykład (c.d.) public class Test { public static void main( String[] args ) { Osoba o = new Osoba( "Jan", "Kowalski" ); //o.tostring() wywoływana niejawnie: System.out.println( "Osoba: " + o ); //wyświetli napis Osoba: Kowalski Jan System.out.println( o ); //wyświetli napis Kowalski Jan String tekst = o + to ktoś! ; } } //moŝna teŝ wywoływać tostring() w sposób jawny System.out.println( o.tostring() );
31 PrzeciąŜanie (overloading) 31 / 38 PrzeciąŜanie (dociąŝanie, ang. overloading) tworzenie kilku wersji tej samej metody, z róŝnym zestawem (liczba, typ) argumentów i ewentualnie róŝnymi typami danych zwracanymi przez nie. Odnosi się równieŝ do konstruktorów. Przykład przeciąŝania metod: class BazaDanychStudentow { public void wyswietl(); public int wyswietl( int numerindeksu ); //OK public int wyswietl( String nazwisko ); //OK } void usun( String nazwisko ); int usun( String nazwisko ); //ŹLE! Metoda //usundane z jednym argumentem typu String //jest juŝ zdefiniowana w tej klasie
32 Projektowanie obiektowe - przykład 32 / 38 Aplikacja Sklep komputerowy Tworzone jest oprogramowanie dla sklepu. W sklepie tym sprzedawane są komputery (stacjonarne i przenośne) oraz monitory. KaŜdy towar (wszystko co sprzedajemy w sklepie jest towarem) posiada swój numer katalogowy oraz cenę (cena towaru zaleŝy od aktualnego kursu Euro). W przypadku monitorów, waŝną informacją jest przekątna ekranu.
33 Projektowanie obiektowe przykład (2) 33 / 38 Przykład aplikacja Sklep komputerowy (c.d.) Komputery są towarem, którego najwaŝniejsze cechy to: typ procesora, rozmiar pamięci oraz dysku twardego. Komputery przenośne podzbiór komputerów, z których kaŝdy posiada dodatkowy atrybut w postaci wagi (istotna ze względu na to, iŝ jest to sprzęt przenośny). Pozostałą część komputerów sprzedawanych w sklepie stanowią komputery stacjonarne.
34 Projektowanie obiektowe przykład (3) 34 / 38 Przykład aplikacja Sklep komputerowy (c.d.) Z tak przygotowanego opisu aplikacji dość naturalnie wyłaniają się klasy obiektów i ich wzajemna hierarchia. Przykładowe klasy: Towar, Komputer, KomputerPrzenośny, KomputerStacjonarny, Monitor. Towar jest klasą nadrzędną do klas Monitor i Komputer Komputer zaś jest klasą nadrzędną w stosunku do klas KomputerPrzenośny i KomputerStacjonarny
35 Projektowanie obiektowe przykład (4) 35 / 38 Przykładowy diagram klas (w notacji UML) dla aplikacji Sklep komputerowy : Towar Atrybut ukryty + numerkatalogowy : int - cenaeur : float + podajcenępln() : float Komputer + procesor : String + pamięćmb : int + dyskgb : int Monitor - przekątnaekranu : float KomputerPrzenośny + wagakg : float KomputerStacjonarny
36 Rozbudowa systemu informatycznego 36 / 38 Istotną zaletą podejścia obiektowego jest łatwość rozbudowy i modyfikacji tak przygotowanego systemu informatycznego (oprogramowania). W omawianym przykładzie Sklep internetowy moŝna w dowolnym momencie i co najwaŝniejsze - niskim kosztem: Dodać nowe atrybuty/metody do wszystkich towarów (dokonując modyfikacji jedynie w klasie Towar), np.: int ilosclatgwarancji, float podajcenęusd() Dodać nowe atrybuty do wybranej grupy towarów, np. w klasie Komputer atrybut o nazwie typkartygraficznej Zmienić sposób obliczania cen wszystkich towarów np. tak aby uwzględniał on pewien rabat
37 Co jeszcze warto wiedzieć? 37 / 38 W projektowaniu (faza przygotowań do tworzenia aplikacji, planowanie klas, metod, interfejsów) i programowaniu (implementacja, realizacja przygotowanej wcześniej koncepcji) obiektowym bardzo waŝna jest logika, porządek, odpowiednie rozplanowanie hierarchii klas i obiektów, stosowanie odpowiedniego nazewnictwa. Nazwy klas, obiektów, ich pól oraz metod powinny w jakiś sposób odzwierciedlać rzeczywiste przeznaczenie danej klasy, bądź przekazywać sens działania danej metody (np. dla klasy KontoBankowe metody: podajaktualnystan(), wpłata(double kwota), wypłata(double kwota) itp.).
38 Co jeszcze warto wiedzieć? (2) 38 / 38 Główne zalety programowania obiektowego: Większa przejrzystość kodów źródłowych - dzięki naturalnemu podejściu do rozwiązywanego problemu (obiektowość wzoruje się na rzeczywistości), kody źródłowe są zwykle bardziej czytelne Ułatwia i przyspiesza proces tworzenia aplikacji większa szansa powtórnego uŝycia (ang. reuse) gotowych (sprawdzonych) komponentów, niŝ w przypadku programowania proceduralnego UWAGA: pisanie programu w języku obiektowym (C++, Java ) nie jest jeszcze równoznaczne z programowaniem obiektowym (w sposób obiektowy)!
39 Operator instanceof 39 / 38 Operator instanceof słuŝy do sprawdzania, czy obiekt jest: Instancją wskazanej klasy Instancją klasy pochodnej do wskazanej klasy Instancją klasy, która implementuje wskazany interfejs class Student extends Osoba {} public static void main( String[] args ) { Student st = new Student(); Osoba o = new Student(); System.out.println( o instanceof Osoba ); } } //true System.out.println( o instanceof Student ); //true System.out.println( st instanceof Osoba ); //true System.out.println( st instanceof Student ); //true
40 40 / 38 Java. Charakterystyka języka Programowanie w środowisku rozproszonym. Wykład -02[SUM]
41 Szkic problematyki 41 / 38 Wprowadzenie do programowania w Javie Czym jest Java? Java Development Kit tworzenie i kompilacja programów napisanych w Javie Maszyna Wirtualna Javy i uruchamianie programów Podstawy programowania w Javie Dokumentacja do API, komentowanie kodów źródłowych, narzędzie Javadoc Literatura, serwisy WWW poświęcone Javie
42 Szkic cd. 42 / 38 Java jako język programowania obiektowego Obiekt i klasa obiektów Enkapsulacja (hermetyzacja) Dziedziczenie (rozszerzanie) klas i przyrostowa rozbudowa systemu informacyjnego Polimorfizm jako zaleta dziedziczenia Problem z dziedziczeniem z wielu klas Interfejs jako remedium tego problemu Klasa abstrakcyjna, metody wirtualne Diagramy UML
43 Cele opanowania umiejętności programowania w Javie 43 / 38 Zrozumienie idei programowania obiektowego, pojęć takich jak np.: obiekt, klasa, interfejs, polimorfizm, dziedziczenie(rozszerzanie), enkapsulacja Opanowanie podstawowych zasad programowania obiektowego w języku Java Poznanie szerokiego spektrum moŝliwości, technologii jakie oferuje Java, począwszy od programów, apletów, GUI, poprzez aplikacje wielowątkowe, sieciowe
44 Celem nie jest 44 / 38 Nauka profesjonalnego programowania w Javie to wymaga przynajmniej kilku lat praktyki Powielanie ogólno-dostępnej dokumentacji do Javy Przekonanie Państwa, iŝ Java jest najlepszym ze wszystkich istniejących języków programowania Pytanie: lepiej nauczyć się Javy czy C/C++? Odpowiedź: warto znać oba języki i stosować je zaleŝnie od rodzaju tworzonych aplikacji. MoŜna teŝ łączyć obie technologie w obrębie jednej aplikacji, jeśli zajdzie taka potrzeba.
45 Czym jest Java? 45 / 38 Obiektowy język programowania opracowany i rozwijany przez firmę Sun Microsystems Język stworzony do obsługi urządzeń elektronicznych, na PC wykorzystywany głównie do tworzenia aplikacji sieciowych ze względu na: - bezpieczeństwo (aplety) - niewielki rozmiar plików wynikowych - bogate biblioteki funkcji do obsługi sieci (w standardzie) DuŜą część składni zaczerpnięto z C++, jednak wprowadzono zmiany poprawiające takie aspekty jak: - obiektowość, - bezpieczeństwo, - stabilność, - przenośność kodu
46 Czym jest Java? (2) 46 / 38 W stosunku do C++, w Javie zrezygnowano m. in. z: Dyrektyw i całego preprocesora Plików nagłówkowych Wskaźników MoŜliwości definiowania i przeciąŝania operatorów Wielodziedziczenia Szablonów (templates) Struktur, unii ZłoŜonych konwersji oraz konwersji niejawnych List inicjacyjnych Destruktorów Argumentów domniemanych Przestrzeni nazw Wyliczeń
47 Czym jest java? (3) 47 / 38 MoŜna doszukać się podobieństw z kilkoma innymi językami programowania (C/C++, Pascal, Visual Basic, ), np. na poziomie: Nazw instukcji: while, do/while, for, break, continue, switch, return, (jako ciekawostka: Java w zasadzie rozpoznaje instrukcję goto, jednak nie posiada ona implementacji i nie moŝna jej uŝywać, jest jedynie słowem zastrzeŝonym) RóŜnego typu operatorów (+, -, /, *, %, <, >,!=, &&,,!, ) Typów danych (int, short, long, byte, char, float, double, ) - tu (niestety) podobieństwa bywają mylące, np. liczba bajtów na których reprezentowany jest typ char w Javie i C/C++ jest inna (2 bajty w Javie, natomiast 1 bajt w C)
48 Czym jest java? (4) 48 / 38 Java ma zastosowanie przy tworzeniu: Serwisów WWW technologie: servlety Javy, Java Server Pages (oprogramowanie działające po stronie serwera) Animowanych bądź interaktywnych elementów stron WWW, czyli tzw. apletów (programy działające pod kontrolą przeglądarki internetowej) NiezaleŜnych aplikacji, szczególnie zaś sieciowych GUI do róŝnych systemów bazodanowych, bądź systemów typu ERP UWAGA: nie naleŝy mylić Javy z Java Script em wbrew pozorom, technologie te nie mają ze sobą nic wspólnego.
49 Java Development Kit 49 / 38 Java Development Kit (JDK) podstawowy zestaw narzędzi dla programistów, przygotowany przez firmę Sun. W jego skład wchodzą m.in.: javac.exe kompilator java.exe - Maszyna Wirtualna (interpreter kodu bajtowego Javy) javadoc.exe narzędzie do generowania dokumentacji w formie plików HTML Java Run-time Environment (JRE) wyłącznie środowisko uruchomieniowe, nie jest ono wystarczające do tworzenia nowych programów. Dystrybucja JDK zawiera w sobie JRE.
50 Java Development Kit (2) 50 / 38 JDK, JRE oraz dokumentację do API moŝna pobrać ze strony Instalacja JDK: instalator pakietu: jdk-1_5_0_01-windows-i586-p.exe w zmiennej środowiskowej PATH powinna znajdować się ścieŝka do katalogu bin zainstalowanego pakietu (np. PATH= ;c:\j2sdk5.0\bin), pozwalająca na uŝywanie plików javac.exe oraz java.exe w linii poleceń
51 Kompilacja programów w Javie 51 / 38 Przykładowy program w Javie Plik: Test.java public class Test { } public static void main( String[] args ) { } Kompilacja: >javac Test.java Uruchomienie: >java Test System.out.println( "Java nie jest trudna" );
52 Kompilacja programów w Javie (2) 52 / 38 Programy w Javie wymagają kompilacji (przy pomocy programu javac.exe). Jednak w przeciwieństwie do innych języków, wynikiem kompilacji programu napisanego w Javie nie jest jak by się moŝna było spodziewać gotowy do uruchomienia program. W wyniku kompilacji pliku źródłowego *.java powstaje zwykle jeden plik z rozszerzeniem *.class (o nazwie takiej samej jak plik źródłowy), zawierający tzw. kod bajtowy Javy (Java bytecode). Inne określenia kodu bajtowego: kod pośredni, bajtkod, B-kod.
53 Kompilacja programów w Javie (3) 53 / 38 Jeśli kod źródłowy programu zawiera błędy, kompilator sygnalizuje je podając: nazwę pliku w którym błąd wystąpił, numer linii, krótki opis błędu; wyświetla równieŝ wiersz programu zawierający błąd. W powyŝszym przykładzie nazwa metody powinna brzmieć println (zabrakło litery n na końcu tego wyrazu).
54 Uruchamianie programów w Javie 54 / 38 Pliki wynikowe (*.class), zawierające kod bajtowy Javy, są interpretowane (wykonywane) przez Maszynę Wirtualną Javy (Java Virtual Machine, w skrócie JVM). Maszyna Wirtualna Javy: MoŜe być oddzielną aplikacją (np. java.exe z pakietów JDK/JRE firmy Sun, IBM lub Microsoft) lub wbudowana w przeglądarkę internetową (do uruchamiania apletów) W formie aplikacji jest dostępna dla róŝnych systemów operacyjnych (Windows, Linux, Solaris) i procesorów MoŜe być realizowana sprzętowo, lub np. wykorzystywać kompilację typu Just-In-Time w celu zwiększenia wydajności
55 Uruchamianie programów w Javie (2) 55 / 38 Specyfikacja Maszyny Wirtualnej oraz kodu bajtowego Javy jest kompletna i bardzo szczegółowa. W przypadku C++ pozostawiono pewną swobodę interpretacji specyfikacji i tak np. typ integer (int) moŝe być 32 bądź 64 bitowy, zaleŝnie od procesora bądź kompilatora. W Javie taka sytuacja nie ma miejsca. Dzięki tak dobrze określonemu środowisku pracy programu, a takŝe interpretacji kodu przez Maszynę Wirtualną Javy programy w Javie są całkowicie przenaszalne. Skompilowany program (w Javie) moŝna uruchamiać na róŝnych systemach operacyjnych i procesorach.
56 Uruchamianie programów w Javie (3) 56 / 38 Dzięki interpretacji kodu przez Maszynę Wirtualną Javy: JVM posiada pełną kontrolę nad realizacją wszystkich funkcji programu i nad dostępem programu do zasobów (pliki, pamięć operacyjna) systemowych Osiągnięto wysoki poziom bezpieczeństwa, co ma szczególne znaczenie w przypadku aplikacji internetowych Java posiada mechanizm automatycznego czyszczenia pamięci (Garbage Collection) i obsługi wyjątków co zapewnia większą stabilność działania tworzonych aplikacji oraz wygodę programowania.
57 Uruchamianie programów w Javie (4) 57 / 38 Dzięki kompilacji: Programy w Javie działają szybciej niŝ w przypadku innych języków interpretowanych Istnieje moŝliwość statycznej kontroli błędów (jeszcze przed uruchomieniem programu) Dzięki interpretacji kodu bajtowego: WyŜszy poziom bezpieczeństwa, stabilności, przenośność Java jest wolniejsza od np. C/C++ co jednak moŝe nie mieć większego znaczenia w przypadku np. aplikacji sieciowych, bądź graficznych systemów interakcji z uŝytkownikiem (GUI)
58 Podstawy programowania w Javie 58 / 38 Pliki źródłowe muszą mieć rozszerzenie *.java, np. HelloWorld.java Kod programów w Javie jest pogrupowany w tzw. klasy - umownie przyjmując, są to bloki rozpoczynające się od słowa kluczowego class (zwykle poprzedzonego tzw. modifikatorami np.: public, static, abstract, final) i ograniczone nawiasami { }, jak na przykładzie: //tu nie moŝna wstawić funkcji, deklaracji zmiennych itp. public abstract class Figura { } //tu jest miejsce na kod programu czyli wewnątrz klasy //tu moŝna wstawić kolejną klasę, zalecane jest jednak //umieszczanie klas w oddzielnych plikach
59 Podstawy programowania w Javie (2) 59 / 38 Klasa moŝe posiadać (statyczną) metodę main, która jest wywoływana z poziomu interpretera (Maszyny Wirtualnej) w chwili uruchomienia programu Argumentem wejściowym metody main jest tablica obiektów typu (klasy) String parametry wywołania Tablica w Javie jest obiektem (wyraźna róŝnica w stosunku do C/C++), pole length wyznacza ilość elementów tablicy class Argumenty { } public static void main( String[] args ) { } System.out.println( "liczba parametrów = " + args.length );
60 Podstawy programowania w Javie (3) 60 / 38 Na zewnątrz klasy mogą pojawiać się właściwie jedynie dwa rodzaje dyrektyw: - package - moŝe wystąpić raz, na samym początku pliku - import - moŝe wystąpić jeden lub więcej razy package pro2; import java.util.date; public class TestDaty { public static void main( String[] args ) { System.out.println( "Data: " + new Date() ); } }
61 Podstawy programowania w Javie (4) 61 / 38 Klasy w Javie pogrupowane są w tzw. pakiety, które moŝna traktować jako odpowiedniki bibliotek z C/C++. Pakiety tworzą strukturę hierarchiczną. W Javie istnieje zaleŝność między nazwami i hierarchią pakietów a strukturą plików na dysku. KaŜdy pakiet posiada swój katalog (nazwa katalogu zgodna z nazwą pakietu). Dyrektywa package oznacza przynaleŝność klasy do danego pakietu. Pakiety i klasy Javy są często przechowywane w plikach *.jar (Java archive) w postaci skompresowanej zajmują mniej miejsca na dysku (patrz %JAVAHOME%/jre/lib/rt.zip).
62 Podstawy programowania w Javie (5) 62 / 38 Kilka najwaŝniejszych pakietów standardowych Javy: java.lang definiuje standardowe elementy języka java.util struktury danych (listy, wektory, listy posortowane), obsługa daty i czasu, kompresja ZIP java.io strumienie we/wy, obsługa plików java.awt tworzenie GUI, grafika 2D java.applet tworzenie apletów Firma Sun udostępnia bardzo szczegółową i przejrzystą dokumentację dla wszystkich pakietów i klas J2SE. Zdecydowanie zalecam pobranie dokumentacji ze strony i zapoznanie się z jej zawartością.
63 Podstawy programowania w Javie (6) 63 / 38 Standardowo aplikacja ma dostęp do wszystkich klas z pakietu java.lang (np. System, String, Integer, Math). Dyrektywa import moŝe wystąpić wielokrotnie - przydaje się w momencie, gdy w programie uŝywane są klasy naleŝące do innych pakietów (niŝ aktualny pakiet, bądź java.lang). Przykład: do klasy Date moŝna odwoływać się za pomocą jej pełnej nazwy, czyli java.util.date, bądź teŝ umieścić na początku programu polecenie import java.util.date (lub import java.util.* ) i posługiwać się skróconą nazwą klasy czyli po prostu Date.
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoJAVA. 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ółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoJava. 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ółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoĆwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoLaboratorium 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ółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowo1 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ółowoProgramowanie w Internecie. Java
Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java
Bardziej szczegółowoMETODY 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ółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowoInformatyka 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ółowoPodstawy 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ółowoWprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Bardziej szczegółowoPodstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoJę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ółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoPowtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowoPodstawy 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ółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoMicrosoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Bardziej szczegółowo2. Składnia, środowisko i konwencje w Javie
Gdańsk, 2014 Ogólnie o Javie Środowisko Java jest językiem programowania, którego podstawowym celem jest realizacja zasady write once, run anywhere. Oznacza to możliwość wykonania tego samego programu,
Bardziej szczegółowoJava Język programowania
Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoProgramowanie 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ółowoProgramowania w Javie
Programowania w Javie Działanie kaŝdego programu polega na przetwarzaniu danych. Zaczniemy więc od zapoznania się z typami danych Javy. Aby przetwarzać dane, trzeba umieć na nich operować. Do tego słuŝą
Bardziej szczegółowoProgramowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Bardziej szczegółowoAplikacje 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ółowoPowtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowodziedziczenie - 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ółowoWykł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ółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoPodstawy 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ółowoStrona 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ółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoPodstawowe 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ółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoJAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Bardziej szczegółowoPoczątki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Bardziej szczegółowoInterfejsy. 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ółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowo1 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ółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Bardziej szczegółowoJava: 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ółowoDziedziczenie. 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ółowoJę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ółowoWprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek
Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl
Bardziej szczegółowoDefiniowanie 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ółowoPodstawy 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ółowoProgramowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoMateriał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ółowoJęzyk programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
Bardziej szczegółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
Bardziej szczegółowoSpis treści. 1 Java T M
Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste
Bardziej szczegółowoJeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoKOTLIN. Język programowania dla Androida
KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga
Bardziej szczegółowoMATERIAŁ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ółowoDziedziczenie. Tomasz Borzyszkowski
Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.
Bardziej szczegółowoJę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ółowoWykł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ółowoPowtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. Ważne terminy: Java DevelopRment
Bardziej szczegółowoKompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main
Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 3 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoJava EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Bardziej szczegółowoWykł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ółowoInstrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Bardziej szczegółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowoWykł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ółowoC++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.
C++ - DZIEDZICZENIE Do najważniejszych cech języka C++ należy możliwość wielokrotnego wykorzystywania kodu Prymitywnym, ale skutecznym sposobem jest kompozycja: deklarowanie obiektów wewnątrz innych klas,
Bardziej szczegółowoMateriał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ółowoPolimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Bardziej szczegółowoWykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowo1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoLaboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoRozdział 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