1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

Podobne dokumenty
Programowanie obiektowe

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

Wykład 5 Okna MDI i SDI, dziedziczenie

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

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

Programowanie obiektowe

Programowanie obiektowe

Podstawy Języka Java

Języki programowania imperatywnego

Programowanie obiektowe i zdarzeniowe

Dokumentacja do API Javy.

Dziedziczenie. dr Jarosław Skaruz

Technologie i usługi internetowe cz. 2

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Java Język programowania

.NET Klasy, obiekty. ciąg dalszy

Aplikacje w środowisku Java

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

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

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

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

Klasy abstrakcyjne i interfejsy

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

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

Dawid Gierszewski Adam Hanasko

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

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Podstawy obiektowości

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Programowanie obiektowe

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Definiowanie własnych klas

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

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

Enkapsulacja, dziedziczenie, polimorfizm

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

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

Programowanie w języku Java

Aplikacje w środowisku Java

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Dziedziczenie. Zadanie 1

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Typy sparametryzowane

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

Kurs WWW. Paweł Rajba.

Multimedia JAVA. Historia

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

Materiały do zajęć VII

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Programowanie 3 - Funkcje, pliki i klasy

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Java: interfejsy i klasy wewnętrzne

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Projektowanie aplikacji internetowych laboratorium

Diagramy klas. dr Jarosław Skaruz

Programowanie obiektowe

Programowanie w języku Java 7 z biblioteką SWING

Podstawy Programowania Obiektowego

Deklaracja i definicja metod, zwracanie wartości z metod, przekazywania parametrów do metod

Klasy abstrakcyjne, interfejsy i polimorfizm

UML a kod. C++, Java i C#

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Wykład 4: Klasy i Metody

Aplikacje w środowisku Java

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

Polimorfizm. dr Jarosław Skaruz

Podstawy i języki programowania

Wykład 8: klasy cz. 4

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

TEMAT : KLASY DZIEDZICZENIE

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

Programowanie obiektowe - zadania

Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14

Programowanie obiektowe - 1.

Informatyka II Laboratorium 3 : Programowania obiektowe C++ - dziedziczenie

Programowanie zaawansowane

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Interfejsy i klasy wewnętrzne

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

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

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

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

Wykład 6: Dziedziczenie

KOTLIN. Język programowania dla Androida

Dziedziczenie Dana jest klasa Punkt w pliku o nazwie Punkt.java:

Klasy cd. Struktury Interfejsy Wyjątki

Programowanie obiektowe

Podstawy Swing. Tomasz Borzyszkowski

Do czego służą klasy?

Programowanie obiektowe

Transkrypt:

1. Język JAVA 1. Pierwszy program Napisać program, który: 1. wypisuje na ekran dowolny tekst. 2. Wypisuje argumenty podane w linii poleceń. 2. Kalkulator 1. Program wypisuje sumę liczb podanych jako parametr. 2. Program oblicza i wypisuje wartość wyrażenia postaci x L L, gdzie x to znak działania a L to liczba, np. + 2 5 albo / 4 2 3. Klasy Napisać klasę Student zawierającą 1. pola imię, nazwisko i wiek, 2. pole statyczne nazwaszkoły, 3. konstruktor bezargumentowy ustawiający domyślne wartości 4. konstruktor z trzema argumentami odpowiadającymi polom ustawia wartości pól 5. metodę int ilelat() zwracającą wiek, 6. nadpisaną metodę String tostring() zwracającą tekst informacyjny o studencie Napisać program wykorzystujący obiekty klasy student. W programie utworzyć kilka obiektów klasy Student. Zmienić wartości poszczególnych pól. Za każdy razem wypisywać informację o obiektach na ekran. 4. Dziedziczenie Utworzyć hierarchię klas zaczynającą się od klasy Figura oraz dwóch klas pochodnych: Koło i Prostokąt. Klasa Figura ma zwierać: 1. konstruktor 2. licznik wszystkich utworzonych obiektów tej klasy oraz numer utworzenia obiektu 3. metodę: double pole(), 4. String tostring() - zwracającą napis informacyjny o obiekcie np. wartości pól Klasa Koło (prosty potomek) ma zawierać: 1. konstruktor bezargumentowy 2. konstruktor o argumencie r (promień) 3. metody: double pole(), 4. String tostring() - zwracającą napis informacyjny o obiekcie np. wartości pól

Klasa Prostokąt ma zawierać: 1. konstruktor bezargumentowy 2. konstruktor o argumentach a, b (długości boków) 3. licznik wszystkich utworzonych obiektów tej klasy oraz numer utworzenia obiektu 4. metody: double pole(), 5. String tostring() - zwracającą napis informacyjny o obiekcie np. wartości pól Utworzyć referencje do obiektów typu figura przypisując im obiekty: f1 (Figura),f2 (Figura),f3 (Prostokąt), f4 (Koło), f5 (figura) po utworzeniu sprawdzić (wypisać na ekran) wartości pól licznik i nr. Utworzyć tablicę Figur skradającej się z następujących obiektów: 4 Koła, 3 Prostokąty, 1 Figura. Zsumować pola powierzchni figur w tablicy. 5. Klasa abstrakcyjna Utworzyć klasę abstrakcyjną AFigura zawierającą: 1. pole String nazwa 2. konstruktor bezargumentowy wypisujący nazwę 3. konstruktor z arg. nazwa, przypisujący arg. do pola 4. metody abstrakcyjne double pole(), double obwód() 5. metodę String tostring() - z info o obiekcie Utworzyć klasy pochodne Koło i Prostokąt dziedziczące z klasy AFigura Utworzyć obiekt kalsy AFigura. Utworzyć tablicę AFigur (4 Prostokąty 2 Koła) policzyć ich sumę pól. 6. Interfejsy 1. Napisać interfejs IFigura (podobny do AFigura) zawierającą (przynajmniej) jedną metodę polepowierzchni() oraz co najmniej jedną klasę implementującą ten interfejs. 2. Zaimplementować interfejs Comparable w klasie Koło (lub Figura). Metoda int compareto(object t) ma zwracać liczbę większą od zera jeżeli dla większego obiektu mniejszą dla mniejszego lub zero dla równego. 7. Szablony (typy generyczne) 1. Napisać klasę Para parametryzowaną dwoma typami (np. A i B), przechowującą parę obiektów dowolnego typu. Utworzyć kilka obiektów tej klasy oraz wypisać na standardowe wyjście zawartość tych obiektów. 8. Kolekcje 1. Używając klas ArrayList<V> stworzyć kolekcje Figur: Kół i Prostokątów. Posortować. Dodać nowy element. Jeszcze raz posortować, 2. Używając klasy: HashMap<K,V> stworzyć kolekcje Figur: Kół i Prostokątów przypisując im nazwy. Reszta jak w pkt. 1.

9. Okna (AWT) Za pomocą klas Frame z biblioteki AWT stworzyć jedno okienko. 10. Okna (Swing i Layout) 1. Używając klasy JFrame stworzyć jedno okienko. 2. Na okienku ułożyć 5 przycisków (JButton), wybranym układem (BorderLayout, BoxLayout, FlowLayout, GridLayout, GridBagLayout) 3. Do 3 przycisków podpiąć akcje (addactionlistener) poprzez: 1. klasę zewnętrzną z akcją: wypisującą tekst na ekran. ( i ew. zmieniającą kolor podanej kontrolki) 2. klasę wewnętrzną z akcją: zmiany koloru wybranego przycinku 3. klasę anonimową z akcją: zmiany tekstu na przycisku 11. Klasy zagnieżdżone // W poprzednim zadaniu wypróbować użycia klas i sprawdzić dostęp do różnych elementów klasy zewnętrznej: 1. zagnieżdżona statyczna 2. wewnątrz metody Sprawdzić jaki mają dostęp takie klasy do: 1. pola klasy 2. pola statycznego 3. pól oznaczonych jako private 4. pól innej klasy wewnętrznej Zagnieżdżona Wewnętrzna Deklaracja / definicja tak tak [public protected private] class {} tak nie static [public protected private] class {} tak tak new Object(){} //klasa anonimowa tak tak Wewnątrz metody lub konstruktora 12. Klasy wyjątkowe Napisać metodę wypisującą plik tekstowy na standardowe wyjście używając: 1. Klasy BufferedReader 2. Klasy Scanner 3. Klasy BufferedReader ze składnią try(){}catch(){} z Javy 8

Throwable Error Exception VirtualMachineError ThreadDeath RuntimeException IOException TimeoutException ClassCastException NullPointerException 13. Klasy wyjątkowe a dziedziczenie 1. Utworzyć dwie kalasy wyjątków dziedziczących po sobie w następujący sposób: Exception Wyjątek WyjątkowyWyjątek 2. Napisać klasę abstrakcyjną AbstrakcyjneWyjątki z dwoma metodami abstrakcyjnymi: 1. nazwa frujeden() rzuca wyjątek: Wyjątek 2. nazwa frudwa() rzuca: Wyjątek i MójWyjątek 3. Napisać klasę KWyjątek dziedziczącą po klasie AbstrakcyjneWyjątki oraz 1. w implementacji metody frujeden() ograniczyć liczbę rzucanych wyjątków, 2. w implementacji metody frudwa() zmienić rodzaj rzucanych wyjątków na WyjątkowyWyjątek 4. jw. z tym, że: 1. w implementacji metody frujeden() zwiększyć liczbę rzucanych wyjątków, (np. MójWyjątek, Wyjątek) 2. w implementacji metody frudwa() zmienić rodzaj rzucanych wyjątków na Exception 14. Producent-Konsument Producent (wątek) powinna produkować obiekty klasy Towar i przekazywać je do obiektu Magazyn. Konsument (wątek) powinna pozyskiwać obiekty klasy Towar z Magazynu i wypisywać zawartość towaru (nazwa lub nr itp.). 1. Klasa ZadanieProducenta implementuje interfejs Runnable 2. Klasa ZadanieKonsumenta implementuje interfejs Runnable 3. Klasa Magazyn przechowuje w polu towar (null puste miejsce,!null towar w magazynie). Dostęp do pola jest przez metody 1. przyjmij(towar t) - metoda musi kontrolować czy jest dostępne miejsce na towar oraz blokować wykonanie do momentu aż uda jej się wstawić towar na puste miejsce. 2. Towar wydajtowar() - metoda musi kontrolować czy jest dostępny towar oraz blokować wykonanie do momentu pojawienia się towaru. 15. Problem pięciu chińskich filozofów (dodatkowe) Przy okrągłym stole siedzi pięciu chińskich filozofów. Między nimi znajdują się pałeczki. Pałeczek jest tyle samo co filozofów. Na środku stołu stoi miska ryżu. Klasa Filozof (wątek) realizuje dwa stany: JEDZENIE i ROZMYŚLANIE. Aby filozof mógł przejść ze stanu JEDZENIE do stanu ROZMYŚLANIE musi pozyskać dwie pałeczki: prawą i lewą.

16. Enum Zdefiniować enum dla planet układu słonecznego, tak by każdy element znał masę i promień itp. dane Użyć enuma w argumencie metody wypisującej podane dane względem Ziemi. Planeta Średnia odległość od Słońca [mln km] Okres obiegu dookoła Słońca [lata zwrotnikowe] Średnica [km] Średnia gęstość [g/cm3] Okres obrotu dookoła osi [h lub d] Masa [kg] Markury 57,740 0,24085 4878 5,5 2111 h 0,33 1024 Wenus 108,141 0,61521 12104 5,27 243 d 4,9 1024 Ziemia 149,504 1,00004 12756 5,52 23,933 h 5,97 1024 Mars 227,798 1,88089 6860 3,85 24,617 h 0,64 1024 Jowisz 777,840 11,8622 143640 1,31 9,9 h 1900 1024 Saturn 1426,100 29,4577 120570 0,68 10,3 h 590 1024 Uran 2867,830 84,0153 57070 1,68 10,7 h 87 1024 Neptun 4493,650 164,788 49670 1,61 15,8 h 100 1024 17. Adnotacje Do zadania 14 dopisać adnotacje @Override, @Deprecated@NonNull, @SuppressWarnings Zadeklarować własną adnotacje.