1 Programowanie obiektowe – zastosowanie języka Java SEWstęp do programowania obiektowego w Javie Autor: dr inż. Zofia Kruczkiewicz Zofia Kruczkiewicz Programowanie obiektowe 1
2 Zofia Kruczkiewicz Programowanie obiektowe 1Java ? Zofia Kruczkiewicz Programowanie obiektowe 1
3 1. Charakterystyka języka JavaObiektowy język Java – składnia języka podobna do języka C++. Pliki źródłowe: nazwa_klasy_publicznej.java, gdzie nazwa musi być nazwą klasy publicznej, zdefiniowanej w tym pliku. Kompilator przetwarza program nazwa_klasy_publicznej.java na kod binarny zwany B-kod (bytecode, J-code) Pliki po kompilacji: nazwa_klasy_publicznej.class B-kod może być zinterpretowana i wykonywana przez maszynę wirtualną Java (JVM Java Virtual Machine), czyli urządzenie logiczne Maszyna wirtualna Java (JVM Java Virtual Machine). JVM jest abstrakcyjnym komputerem, który wykonuje programy nazwa.class: 3.1. interpretator wbudowany w przeglądarkę WWW, 3.2. oddzielny program 3.3.Just-In-Time (przetworzenie nazwa.class na program wykonalny specyficzny dla danej maszyny) Biblioteka Javy – pakiety z oprogramowaniem wspomagającym tworzenie programów działających w sieci np. Internet, umożliwiającym tworzenie interfejsu użytkownika, ogólnego przeznaczenia Zofia Kruczkiewicz Programowanie obiektowe 1
4 Zofia Kruczkiewicz Programowanie obiektowe 1Java SE 5.0 Zofia Kruczkiewicz Programowanie obiektowe 1
5 2. Tworzenie programu w JavieAplikacja (application) Program interpretujący aplikacje java.exe typu JVM jest uruchamiany w systemie operacyjnym. Uruchamiana aplikacja (program użytkownika) zawiera między innymi jeden moduł źródłowy, którego klasa publiczna zawiera publiczną metodę klasową o nagłówku public static void main(String args[]) Aplet (applet) Program interpretujący aplety jest wbudowany np. w przeglądarkę www. Program typu aplet zawiera między innymi jeden moduł źródłowy, którego klasa publiczna zawiera między innymi podstawowe metody: init(), start(), stop(), paint(), destroy() Uwaga: możliwe jest napisanie programu w Javie, który będzie pracował jako applet i jako aplikacja. Zofia Kruczkiewicz Programowanie obiektowe 1
6 Zofia Kruczkiewicz Programowanie obiektowe 12.1. Tekst źródłowy w Javie public class Witaj { public static void main(String args[]) { System.out.print("Dzien dobry, nazywam się Jan Kowalski\n"); } 2.2. Kompilacja javac Witaj.java gdzie położenie (katalog) programu javac (kompilator Javy) powinno być znane systemowi operacyjnemu, a katalog bieżący powinien zawierać plik źródłowy Witaj.java. Zostanie wygenerowany plik Witaj.class z instrukcjami dla JVM. Zofia Kruczkiewicz Programowanie obiektowe 1
7 Dzien dobry, nazywam się Jan Kowalski2.3. Interpretacja java Witaj interpretator java (położenie znane systemowi operacyjnemu) wyszuka plik o nazwie Witaj.class w katalogu bieżącym sprawdzi, czy klasa Witaj posiada publiczną metodę statyczną main wykona instrukcje zawarte w bloku funkcji main, czyli wyświetli na ekranie napis Dzien dobry, nazywam się Jan Kowalski i przejdzie do następnego wiersza Uwagi: do metody main z wiersza rozkazowego jako parametr jest przekazywana tablica args obiektów (łańcuchów) klasy String - w klasie Witaj jest ona pomijana każda instrukcja kończy się średnikiem standardowa klasa System: a) zawiera statyczny obiekt składowy typu PrintStream o nazwie out b) wywołanie System.out.print oznacza pisanie łańcucha typu String do standardowego strumienia wyjściowego, w tym wypadku ekranu c) metoda print generuje jeden wiersz wyjściowy i powraca do metody main Zofia Kruczkiewicz Programowanie obiektowe 1
8 Zofia Kruczkiewicz Programowanie obiektowe 1Przykład 1: Tworzenie aplikacji w środowisku NetBeans 5.5.1 Zofia Kruczkiewicz Programowanie obiektowe 1
9 Zofia Kruczkiewicz Programowanie obiektowe 1Zakładanie nowego projektu Zofia Kruczkiewicz Programowanie obiektowe 1
10 Zofia Kruczkiewicz Programowanie obiektowe 1Wybór kategorii projektu General typu Java Application Zofia Kruczkiewicz Programowanie obiektowe 1
11 Zofia Kruczkiewicz Programowanie obiektowe 1Domyślny formularz projektu po naciśnięcia klawisza Next Zofia Kruczkiewicz Programowanie obiektowe 1
12 Zofia Kruczkiewicz Programowanie obiektowe 1Podanie własnych ustawień projektu: nazwy projektu (Project Name), katalogu (Project Location) oraz nazwy klasy główne zawierającej funkcję main (Create Main Class) Zofia Kruczkiewicz Programowanie obiektowe 1
13 Zofia Kruczkiewicz Programowanie obiektowe 1Formularz edycji programu źródłowego Zofia Kruczkiewicz Programowanie obiektowe 1
14 Zofia Kruczkiewicz Programowanie obiektowe 1Wpisanie elementarnej instrukcji w funkcji main Zofia Kruczkiewicz Programowanie obiektowe 1
15 Zofia Kruczkiewicz Programowanie obiektowe 1Kompilacja programu – Build Project Zofia Kruczkiewicz Programowanie obiektowe 1
16 Zofia Kruczkiewicz Programowanie obiektowe 1Komunikaty z przebiegu kompilacji w oknie Output Zofia Kruczkiewicz Programowanie obiektowe 1
17 Zofia Kruczkiewicz Programowanie obiektowe 1a) Uruchamianie programu – Run Project Zofia Kruczkiewicz Programowanie obiektowe 1
18 Zofia Kruczkiewicz Programowanie obiektowe 1Wykonanie programu za pomocą VMT w środowisku narzędzia NetBeans – okno Output. W środowisku NetBeans tworzony jest plik spakowany typu jar, który może zawierać wiele plików, wśród których znajduje się plik zawierający klasę z funkcją main. Zofia Kruczkiewicz Programowanie obiektowe 1
19 Zofia Kruczkiewicz Programowanie obiektowe 1b) Uruchomienie programu konsolowego z linii poleceń – skopiowanie łańcucha uruchamiającego program do schowka java -jar "C:\Settings\dydaktyka\java5\wyklad1_elementyjezyka\Witaj\dist\Witaj.jar" Zofia Kruczkiewicz Programowanie obiektowe 1
20 Zofia Kruczkiewicz Programowanie obiektowe 1
21 Zofia Kruczkiewicz Programowanie obiektowe 1Uruchomienie z linii poleceń programu typu aplikacja: przeniesienie łańcucha uruchomienia programu ze „schowka” przez naciśnięcie prawego klawisza myszy Zofia Kruczkiewicz Programowanie obiektowe 1
22 public class Witaj1 // klasa publiczna { Przykład 2: Wywołanie programu z listą argumentów java Witaj1 Jan Kowalski public class Witaj // klasa publiczna { static int ile; //składowa klasowa public static void main(String args[]) //pobranie liczby parametrów (w przykładzie 2) // ile musi być składową typu static ! ile=args.length; for (int j=0; j
23 Wybór opcji Properties aktywnego projektuZofia Kruczkiewicz Programowanie obiektowe 1
24 W oknie Properties wybór opcji RunZofia Kruczkiewicz Programowanie obiektowe 1
25 Wpisanie łańcucha w linii ArgumentsZofia Kruczkiewicz Programowanie obiektowe 1
26 Zofia Kruczkiewicz Programowanie obiektowe 1Wpisanie tekstu programu korzystającego z argumentów programu i kompilacja Build Project Zofia Kruczkiewicz Programowanie obiektowe 1
27 a) Uruchomienie w środowisku NetBeansZofia Kruczkiewicz Programowanie obiektowe 1
28 b) Uruchomienie programu z linii poleceńPrzeniesienie ze schowka, naciskając prawy klawisz myszy, łańcucha uruchomienia pobranego z okienka Output po wykonaniu Build Project dla programu z przykładu 2 i dopisaniu łańcucha Jan Kowalski. Po jednorazowym przeniesieniu łańcucha można powtórzyć uruchomienie programu z linii poleceń naciskając klawisz F5. Zofia Kruczkiewicz Programowanie obiektowe 1