INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna.

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

Download "INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna."

Transkrypt

1 INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna. I. UTWORZENIE SZKIELETU APLIKACJI 1. Uruchom środowisko programowania NetBeans. Utwórz aplikację typu JME zakładając projekt o nazwie JME_Gra 2. Dodaj do projektu klasę typu Midlet o nazwie Gra 3. Dodaj do projektu klasę Java o nazwie Plansza dziedziczącą z klasy Canvas umieszczając ją w osobnym pliku 4. Zaimportuj klasę Canvas oraz utwórz automatycznie metodę paint. Usuń domyślne wygenerowaną zawartość metody paint. 5. Zaimplementuj w klasie Plansza interfejs CommandListener oraz utwórz automatycznie metodę commandaction. Usuń z metody commandaction zbędne instrukcje. class Plansza extends Canvas implements CommandListener { 6. Zadeklaruj w klasie Plansza zmienne W, H typu całkowitego w celu przechowania wymiarów planszy, oraz generator liczb losowych Random o nazwie zamiennej r Random r = new Random(); int W, H; 7. Utwórz konstruktor klasy Plansza bez parametrów 8. W konstruktorze klasy Plansza zainicjuj zmienne W i H pobierając odpowiednio szerokość oraz wysokość planszy W = getwidth(); H = getheight(); 9. Zadeklaruj w klasie Plansza zmienną typu Command o nazwie start do uruchomienia gry Command start = new Command("Start", Command.OK, 0); 10. W konstruktorze dodaj obiekt start do menu ekranu za pomocą metody addcommand, oraz włącz nasłuchiwanie zdarzeń za pomocą metody setcommandlistener addcommand(start); setcommandlistener(this); 11. W metodzie paint klasy Plansza umieść instrukcje czyszczenia ekranu g.setcolor(0, 0, 0); g.fillrect(0, 0, W, H); 12. Otwórz plik z klasa Gra. Umieść pod nagłówkiem klasy deklarację zmiennej display typu Display, oraz zmiennej plansza typu Plansza Display display; Plansza plansza; 13. Wygeneruj pusty konstruktor klasy Gra i umieść w nim instrukcję tworzenia obiektu typu Plansza public Gra() { plansza = new Plansza();

2 14. W metodzie startapp klasy Gra zainicjuj zmienną display za pomocą metody Display.getDisplay oraz ustaw ekran plansza jako startowy display = Display.getDisplay(this); display.setcurrent(plansza); 15. Uruchom aplikację i sprawdź czy nie ma błędów. II. PROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH Klasa będzie stanowiła podstawę do rysowania obiektów graficznych na ekranie Planszy. Będzie ona przechowywała wspólne cechy obiektów takie jak położenie na ekranie, liczba uzbieranych punktów, czas animacji, a także odpowiadała za realizację wątków. 1. Utwórz w projekcie abstrakcyjną klasę o nazwie Figura umieszczając ją w osobnym pliku abstract class Figura { 2. Zadeklaruj w klasie Figura współrzędne X, Y, liczbę punktów punkty oraz interwał zmiany stanu obiektu podczas animacji delay public int X, Y, punkty; protected int delay; 3. Wygeneruj automatycznie konstruktor klasy Figura, za pomocą którego można będzie nadać początkowe wartości zmiennym X, Y public Figura(int X, int Y) { this.x = X; this.y = Y; 4. Zadeklaruj w klasie Figura abstrakcyjną metodę rysuj, która powinna zostać zdefiniowana w każdej klasie dziedziczącej z Figura, w celu rysowania pochodnych obiektów abstract void rysuj(graphics g); 5. Zadeklaruj w klasie Figura abstrakcyjną metodę zmienstan(), za pomocą której każda klasa pochodna będzie mogła zmieniać swoja pozycję, kolor, rozmiary etc w zależności od potrzeb animacji abstract void zmienstan(); 6. Zaimplementuj w klasie Figura interfejs Runnable. Pozwoli to na uruchomienie obiektów klas pochodnych w niezależnych równoległych wątkach bez konieczności ponownego zdefiniowania interfejsu Runnable. Zwróć uwagę, iż środowisko NetBeans nie proponuje automatycznego stworzenia metody run(). Zastanów się dlaczego tak się dzieje. 7. Utwórz metodę run() w klasie Figura. Wewnątrz metody umieść pętlę nieskończoną while(true). Następnie wewnątrz pętli wywołaj metodę zmienstan() oraz instrukcję oczekiwania Thread.sleep(delay). Dodaj obsługę wyjątków. Zwróć uwagę na to, że mimo iż zawartość metody zmienstan() nie jest jeszcze zdefiniowana, kompilator nie zgłasza błędu. Metoda zmienstan() zostanie zdefiniowana w każdej z pochodnych klas, w zależności od jej specyfiki. Wszystkie one przy tym będą korzystały z możliwości uruchomienia procesu (wątku). public void run() { while (true) { zmienstan(); try { Thread.sleep(delay);

3 catch (InterruptedException ex) { 8. Sprawdzamy czy aplikacja nadal się kompiluje. Jeśli nie, naprawiamy błędy. Nie uruchamiamy aplikacji ponieważ nie zostały wprowadzone żadne zmiany mające wpływ na jej wygląd. III. PROJEKTOWANIE KLASY PACMAN OBIEKTU RUCHOMEGO DZIEDZICZĄCEGO Z KLASY FIGURA W poprzednim rozdziale została stworzona klasa abstrakcyjna Figura, zawierająca uniwersalne rozwiązania wspólne dla wszystkich obiektów graficznych w programie. Część metod przy tym nie została zdefiniowana. W bieżącym rozdziale utworzymy klasę Pacman dziedziczącą z klasy Figura, i zrealizujemy brakujące elementy wyglądu oraz zachowania obiektu. 1. Dodaj do projektu nową klasę o nazwie Pacman w postaci osobnego pliku. Klasa powinna dziedziczyć z klasy Figura. 2. Wygeneruj automatycznie metody abstrakcyjne rysuj oraz zmienstan. Usuń ich domyślną zawartość. 3. Zadeklaruj zmienne klasy Pacman o nazwie dx, dy typu całkowitego. Będą one przechowywać kierunek ruchu obiektu (dx w poziomie, dy w pionie) int dx, dy; 4. Dodaj ręcznie konstruktor klasy Pacman o parametrach X, Y. Będzie on służył do ustawienia początkowych współrzędnych obiektu na ekranie, oraz czasu animacji. Na samym początku konstruktora wywołaj konstruktor klasy bazowej Figura za pomocą instrukcji super(x, Y). To pozwoli nie dublować w kodzie klasy Pacman instrukcje inicjowania zmiennych X, Y. public Pacman(int X, int Y) { super(x, Y); dx = 0; dy = 0; delay = 10; 5. W metodzie rysuj klasy Pacman umieść instrukcje do rysowania obiektu animowanego oraz liczby zgromadzonych przez niego punktów. Metoda fillarc rysuje wycinek koła ze środkiem (X,Y) oraz kącie 270 st. Liczba punktów jest wyświetlana za pomocą metody drawstring. Jej argumenty Graphics.HCENTER oraz Graphics.BOTTOM wzkazują metodę ulokowania tekstu względem współrzędnych (X,Y) g.setcolor(255, 255, 0); g.fillarc(x-15, Y-15, 30, 30, 45, 270); g.setcolor(255, 255, 255); g.drawstring(punkty + "", X, Y-15, Graphics.HCENTER Graphics.BOTTOM); 6. Dodaj w klasie Pacman metodę o nazwie kierunek(int dx, int dy) do ustawienia kierunków ruchu obiektu public void kierunek(int dx, int dy) { this.dx = dx; this.dy = dy; 7. W treści metody zmienstan() umieść instrukcje do zmiany współrzędnych (X,Y) obiektu o wartości przyrostowe dx, dy. X += dx; Y += dy;

4 8. Przejdź do klasy Plansza. Pod jej nagłówkiem umieść deklarację obiektu pacman klasy Pacman Pacman pacman; 9. W konstruktorze klasy Plansza umieść instrukcję tworzenia obiektu klasy Pacman w pozycji (30, 40) pacman = new Pacman(30, 40); 10. W metodzie paint klasy Plansza umieść instrukcję rysowania obiektu Pacman pacman.rysuj(g); 11. Uruchom program i sprawdź czy figurka się wyświetla na ekranie IV. ANIMACJA. OBSŁUGA KLAWIATURY W tym rozdziale zdefiniujemy metodę obsługi zdarzeń klawiatury w celu umożliwienia zmiany pozycji obiektu graficznego na ekranie. 1. Zadeklaruj w klasie Plansza metodę keypressed, która zostanie automatycznie wywołana przy każdym naciśnięciu klawisza na telefonie protected void keypressed(int keycode) { 2. W treści metody keypressed umieść instrukcje zmieniające kierunek ruchu pacmana zgodnie z kodem wciśniętego klawisza: -1 UP, -2 DOWN, -3 LEFT, -4 RIGHT, -5 CENTER if (keycode == -1) pacman.kierunek(0, -1); // w górę if (keycode == -2) pacman.kierunek(0, 1); // w dół if (keycode == -3) pacman.kierunek(-1, 0); // w lewo if (keycode == -4) pacman.kierunek(1, 0); // w prawo if (keycode == -5) pacman.kierunek(0, 0); // stop 3. W metodzie paint klasy Plansza umieść instrukcję zatrzymania wątku na czas 10 msek. Thread.sleep(10); 4. Wygeneruj automatycznie instrukcje try.. catch niezbędne do poprawnej obsługi metody Thread.sleep 5. Za nawiasem kończącym konstrukcję try catch umieść instrukcję repaint() w celu odświeżenia ekranu repaint(); 6. W metodzie commandaction klasy Plansza rozpoznaj polecenie start i umieść w odpowiadającym mu kodzie instrukcję tworzenia i uruchomiania wątku pacmana if (c == start) { new Thread(pacman).start(); 7. Sprawdź działanie programu. Po uruchomieniu aplikacji oraz kliknięciu [Start] można sterować ruchem obiektu po ekranie za pomocą strzałek na klawiaturze telefonu (oraz komputera)

5 V. DEFINIOWANIE PREZENTÓW W tym rozdziale stworzymy kolejną klasę obiektów graficznych Prezent. Umożliwi ona zdobywanie punktów przez pacmana w sytuacji, kiedy sterowany przez użytkownika obiekt zbliży się do celu na odpowiednią liczbę pikseli. 1. Dodaj do projektu nową klasę Prezent w osobnym pliku 2. Odziedzicz klasę Prezent z klasy Figura 3. Zaimplementuj wszystkie metody abstrakcyjne w klasie Prezent i usuń ich domyślnie wygenerowaną zawartość 4. Dodaj konstruktor klasy Prezent za pomocą którego można będzie ustawić współrzędne obiektu na ekranie oraz liczbę punktów za jego zdobycie public Prezent(int X, int Y, int punkty) { super(x, Y); this.delay = 1000; this.punkty = punkty; 5. W metodzie rysuj klasy Prezent umieść instrukcje rysowania obiektu w postaci kółka oraz instrukcję wyświetlającą liczbę punktów w postaci tekstu g.setcolor(255-5*punkty, 5*punkty, 0); g.fillarc(x-10, Y-10, 20, 20, 0, 360); g.setcolor(255, 255, 255); g.drawstring(punkty + "", X, Y+5, Graphics.HCENTER Graphics.BASELINE); 6. Metodę zmienstan na razie pozostaw pustą. 7. W klasie Plansza dodaj deklarację 10-elementowej tablicy obiektów typu Prezent Prezent[] prezenty = new Prezent[10]; 8. W konstruktorze klasy Plansza utwórz wszystkie obiekty Prezent w tablicy for (int i = 0; i < 10; i++) { prezenty[i] = new Prezent( r.nextint(w - 20), r.nextint(h - 20), r.nextint(25) + 25); 9. W treści metody paint klasy Plansza przed instrukcja rysowania Pacmana, dodaj instrukcje rysujące wszystkie obiekty typu Prezent z tablicy for (int i = 0; i < 10; i++) { if (prezenty[i] == null) continue; prezenty[i].rysuj(g); 10. Sprawdź działanie programu. Na ekranie powinny się ukazać 10 obiektów graficznych typu Prezent. VI. INTERAKCJA POMIĘDZY OBIEKTAMI NA EKRANIE. ZBIERANIE PREZENTÓW 1. Zadeklaruj w klasie Pacman metodę złap za pomocą której można będzie sprawdzić odległość pomiędzy wskazanym obiektem graficznym a pacmanem boolean złap(prezent p) { return Math.sqrt((X - p.x)*(x - p.x) + (Y - p.y) * (Y - p.y)) < 5; 2. W metodzie paint klasy Plansza po instrukcji rysowania obiektu prezenty[i].rysuj(g) umieść sprawdzenie czy pacman w danym momencie zbliżył się do tego obiektu na dystans nie przekraczający 5 pikseli (wartość przybliżona, można ją oczywiście zmienić). Jeśli tak, prezent zostanie usunięty z listy zaś użytkownikowi zostaną doliczone odpowiednie punkty.

6 if (pacman.złap(prezenty[i])) { pacman.punkty += prezenty[i].punkty; prezenty[i] = null; 3. Sprawdź działanie programu 4. Dopracuj metodę wyświetlająca pacmana tak, by można było jednoznacznie określić kierunek jego poruszania się. W tym celu wystarczy na podstawie wartości zmiennych dx, dy określić wartość początkową kąta alfa w metodzie fillarc. Zmień w metodzie rysuj klasy Pacman linijkę z kodem metody fillarc na int alfa = 45; if (dx < 0) alfa = ; if (dx > 0) alfa = 45; if (dy < 0) alfa = ; if (dy > 0) alfa = ; g.fillarc(x-15, Y-15, 30, 30, alfa, 270); 5. Sprawdź działanie programu VII. GRA NA CZAS Zmodyfikujemy czas życia prezentów na ekranie w taki sposób, aby liczba punktów stopniowo malała z upływem czasu. 1. W klasie Prezent uzupełnij treść metody zmienstan o zmniejszenie liczby punktów if (punkty > 0) { punkty--; 2. W metodzie commandaction klasy Plansza w sekcji obsługi polecenia start dopisz instrukcje uruchamiające dla każdego z prezentów własny wątek if (c == start) { for (int i = 0; i < 10; i++) { new Thread(prezenty[i]).start(); new Thread(pacman).start(); 3. Uruchom program i postaraj się pozyskać maksymalną liczbę punktów ;) VIII. ZADANIA DO SAMODZIELNEGO WYKONANIA 1. Zaprogramuj wyjście z programu. Zwróć uwagę na to że ekran klasy Canvas nie posiada możliwości wywołania metody notifydestroyed() klasy MIDLet. W tym celu można przekazać wskaźnik na klasę główną midleta w konstruktorze Plansza. Drugie rozwiązanie polega na wprowadzeniu ekranu startowego typu Form, z którego rozpoczyna się gra, i do którego wraca się po jej ukończeniu. Przyciski [start] oraz [koniec] byłyby wówczas osadzone w Form. 2. Zaprogramuj zatrzymanie się gry w momencie, kiedy wszystkie prezenty zostaną zebrane. Wyświetl okno z wynikami gry i propozycją rozpoczęcia nowej gry. 3. Zastanów się jak w oknie Plansza zrealizować mechanizm tymczasowego zatrzymania gry (pauza). 4. Dopracuj rozmieszczanie prezentów na ekranie tak by się nie pokrywały

PROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH

PROJEKTOWANIE ABSTRAKCYJNEJ KLASY FIGURA PRZECHOWUJĄCEJ WSPÓLNE CECHY OBIEKTÓW GRAFICZNYCH Animacja wielowątkowa - gra zręcznościowa. I. UTWORZENIE SZKIELETU APLIKACJI 1. Uruchom środowisko programowania NetBeans. Utwórz aplikację typu Swing tworząc projekt o nazwie Projekt10 2. Dodaj do projektu

Bardziej szczegółowo

II Tworzenie klasy Prostokąt dziedziczącej z klasy wątku

II Tworzenie klasy Prostokąt dziedziczącej z klasy wątku INSTRUKCJA DO ĆWICZENIA 9 Animacja z wieloma wątkami Projekt1 Utwórz aplikację Swing, która umożliwi rysowanie na panelu 10 prostokątów o tej samej podstawie i losowych wysokościach, niezależnie zmieniających

Bardziej szczegółowo

STWORZENIE PRZYKŁADOWEJ

STWORZENIE PRZYKŁADOWEJ LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE PRZYKŁADOWEJ APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Wykonanie poprzedniego ćwiczenia III. Ćwiczenie 1. Stworzenie aplikacji Celem ćwiczenia

Bardziej szczegółowo

Programowanie aplikacji na urządzenia mobilne

Programowanie aplikacji na urządzenia mobilne Informatyka I Programowanie aplikacji na urządzenia mobilne dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 JME - Java Platform Micro Edition JME platforma Java przeznaczona

Bardziej szczegółowo

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2 z wykorzystaniem języka Java ME ćwiczenia 2 Wykorzystanie plików graficznych w MIDlet ach utworzenie obiektu klasy Image (statyczna metoda createimage()) utworzenie obiektu klasy ImageItem dodanie utworzonego

Bardziej szczegółowo

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Interfejsy w Java. Przetwarzanie równoległe. Wątki. Informatyka I Interfejsy w Java. Przetwarzanie równoległe. Wątki. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Interfejsy w Java Pojęcie interfejsu w programowaniu Deklaracja

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1 z wykorzystaniem języka Java ME ćwiczenia 1 Budowa aplikacji MIDP utworzenie klasy dziedziczącej z klasy java.microedition.midlet.midlet Klasa musi posiadać przynajmniej trzy metody: startapp() inicjalizacja

Bardziej szczegółowo

Laboratorium z informatyki sem. III/ćw.11 Wydział Transportu PW 2017/18

Laboratorium z informatyki sem. III/ćw.11 Wydział Transportu PW 2017/18 INSTRUKCJA DO ĆWICZENIA 11 PIERWSZA APLIKACJA MOBILNA W JAVIE METODYKA POSTĘPOWANIA PRZY TWORZENIU MIDLETU Z TRZEMA EKRANAMI EKRAN 1 GUI WYSOKIEGO POZIOMU (KLASA SCREEN) EKRAN2 GUI WYSOKIEGO POZIOMU (KLASA

Bardziej szczegółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

Projektowanie aplikacji internetowych laboratorium

Projektowanie aplikacji internetowych laboratorium Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji

Bardziej szczegółowo

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

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

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

Multimedia JAVA. Historia

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

Języki i metody programowania Java Lab2 podejście obiektowe

Języki i metody programowania Java Lab2 podejście obiektowe Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Informatyka II. Laboratorium.

Informatyka II. Laboratorium. Informatyka II. Laboratorium. Ćwiczenie 13. Reprezentacja grafów w Java. Wyszukiwanie najkrótszej ścieżki w grafie. I. Wstęp. Grafy [1] są podstawową strukturą danych dla wielu algorytmów stosowanych w

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Laboratorium z informatyki sem. III/ćw.12 Wydział Transportu PW 2018/19

Laboratorium z informatyki sem. III/ćw.12 Wydział Transportu PW 2018/19 INSTRUKCJA DO ĆWICZENIA 12 PRZYKŁAD APLIKACJI MOBILNEJ W JAVIE METODYKA POSTĘPOWANIA PRZY TWORZENIU MIDLETU Z TRZEMA EKRANAMI EKRAN 1 GUI WYSOKIEGO POZIOMU (KLASA SCREEN) EKRAN2 GUI WYSOKIEGO POZIOMU (KLASA

Bardziej szczegółowo

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8 Programowanie w JAVA Lab. 5 - Wątki 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 33 y 3 2 2 x x 3 y 7 x 3 33 7) 2 2 f x, y 1 x 3 1 x 2 1 y 7 x 3 3 33 2 112 y 3 7 x

Bardziej szczegółowo

Laboratorium z informatyki sem.iii/ćw. 4 Wydział Transportu PW /19

Laboratorium z informatyki sem.iii/ćw. 4 Wydział Transportu PW /19 INSTRUKCJA DO ĆWICZENIA 4 Utworzymy aplikacje umożliwiające oszacowanie szukanych wartości przez symulację doświadczenia losowego, z ilustracją graficzną wyników doświadczenia. Zadanie wykonamy dla przykładów

Bardziej szczegółowo

Aplikacje w Javie- wykład 11 Wątki-podstawy

Aplikacje w Javie- wykład 11 Wątki-podstawy 1 Aplikacje w Javie- wykład 11 Wątki-podstawy 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/ http://docs.oracle.com/javase/9/docs/

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium

Bardziej szczegółowo

INSTRUKCJA DO ĆWICZENIA 5

INSTRUKCJA DO ĆWICZENIA 5 INSTRUKCJA DO ĆWICZENIA 5 Kontynuacja tworzenia aplikacje umożliwiających oszacowanie szukanych wartości przez symulację doświadczenia losowego, z ilustracją graficzną jego wyników. Zadanie wykonamy dla

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

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

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Podstawy Języka Java

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

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4 Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.

Bardziej szczegółowo

Java Platform Micro Edition

Java Platform Micro Edition Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html

Bardziej szczegółowo

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni, Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 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

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 5.0 5.3.3.5 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych

Bardziej szczegółowo

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy? Zad.28. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( ) ; public void pisz ( ) ; Zad.29. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( int l i c z b a ) ; public

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub PWSG Ćwiczenia 12 Wszystkie ukończone zadania należy wysłać na adres: sara.m.jurczyk@gmail.com lub sarajurczyk@kul.lublin.pl Zadanie 1: Różnica między zwykłymi polami/metodami, a polami/metodami static

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Programowanie obiektowe

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

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

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

Bardziej szczegółowo

LABORATORIUM 7 Cel: 1_1

LABORATORIUM 7 Cel: 1_1 LABORATORIUM 7 Cel: Budowa klas z wykorzystaniem dziedziczenia oraz implementowania interfejsów. Wprowadzenie do trybu graficznego -cd. Animacje obiektów w trybie graficznym obsługa zdarzeń od klawiatury

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

public void startapp() { } public void pauseapp() { } public void destroyapp(boolean unconditional) { }

public void startapp() { } public void pauseapp() { } public void destroyapp(boolean unconditional) { } INSTRUKCJA DO ĆWICZENIA 2 METODYKA POSTĘPOWANIA PRZY TWORZENIU MIDLETU Z DWOMA EKRANAMI EKRAN 1 GUI WYSOKIEGO POZIOMU (KLASA SCREEN) EKRAN 2 GUI NISKIEGO POZIOMU (KLASA CANVAS) I Podstawowy szkielet MIDetu.

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

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

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

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

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

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

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

Wykład 8: Obsługa Wyjątków

Wykład 8: Obsługa Wyjątków Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez

Bardziej szczegółowo

Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017

Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017 Wykład 8 10 maj 2017 Współbieżność Watki w JAVA-ie Współbieżność może być realizowana na poziomie systemu operacyjnego (procesy) lub na poziomie aplikacji (watki). W JAVA-ie powszechnie stosuje się watki.

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

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

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 - 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

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista 5.0 5.3.3.6 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych

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

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

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

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

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

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1 Ćwiczenie 1 Uruchamianie programu w Netbeans Uruchom środowisko Netbeans. Stwórz nowy projekt typu Java Application. Nadaj projektowi nazwę HelloWorld (Project Name), zwróć uwagę na folder, w którym zostanie

Bardziej szczegółowo

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Kanwa, to komponent służący do rysowania. Można ją dodać w Designerze przeciągając komponent Canvas z sekcji Basic. W celu ustawienia obrazka jako

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

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

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

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

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego

Bardziej szczegółowo

4. W konstruktorze klasy Grafika wywołaj metodę określającą rozmiary ramki oraz ustaw kolor tła metodą setbackground():

4. W konstruktorze klasy Grafika wywołaj metodę określającą rozmiary ramki oraz ustaw kolor tła metodą setbackground(): INSTRUKCJA DO ĆWICZENIA 2 Aplikacja zawiera przykłady ilustrujące wybrane metody graficzne klasy Graphics (powtórzenie) oraz klasy Graphics2D. Tworzenie własnej klasy, tworzącej wieloboki o zadanym kształcie

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

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

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 3

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 3 z wykorzystaniem języka Java ME ćwiczenia 3 Wykorzystanie klasy List do tworzenie menu Klasa List - tworzenie list wyboru (EXCLUSIVE, MULTIPLE, IMPLICIT) Dodatkowe możliwości (dodatkowe komendy, pliki

Bardziej szczegółowo

Programowanie komponentowe

Programowanie komponentowe Programowanie komponentowe Aplety w aplikacjach typu Visual Web Java Server Faces Autor: Struktura wykładu 1. Tworzenie uniwersalnego programu graficznego 2. Program typu Java Application wykonanie programu

Bardziej szczegółowo

DOSTĘP DO METOD I ZMIENNYCH. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla każdego, Helion 2001)

DOSTĘP DO METOD I ZMIENNYCH. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla każdego, Helion 2001) DOSTĘP DO METOD I ZMIENNYCH Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla każdego, Helion 2001) Zakres public protected domyślny private widzialności metody lub zmiennej Klasa tak tak

Bardziej szczegółowo

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Graficzny Interfejs Użytkownika mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Spis treści Graficzny Interfejs

Bardziej szczegółowo

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP 5.0 5.3.3.7 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

Część XV C++ Ćwiczenie 1

Część XV C++ Ćwiczenie 1 Część XV C++ Instrukcja break przerywa działanie tylko tej pętli, w ciele której została wywołana. Jeśli więc wywołamy break w pętli zagnieżdżonej w innej pętli, zostanie przerwane działanie tylko tej

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

1. Tworzenie nowego projektu.

1. Tworzenie nowego projektu. Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo