R1aILYUS1E5qt
Fotografia przedstawia rozłożone urządzenie elektroniczne. Jest to aparat fotograficzny. Widoczny jest obiektyw, karta pamięci, procesor, obudowa aparatu, klisza.

I_R_W13_M06A_Java Java jako język obiektowy

Źródło: Alexander Andrews, domena publiczna.
Już wiesz
  • Czym są klasy i obiekty oraz na czym polega dziedziczenie.

  • Jak zdefinować klasy w języku Java, używając w nich metod oraz atrybutów.

  • Jak przeanalizować strukturę programu zawierającego zdefiniowane klasy w języku Java.

  • Jak zaplanować konstrukcję programu w języku Java pod kątem obiektowości.

Teraz czas, aby sprawdzić wiedzę i umiejętności w praktyce.

Ćwiczenie 1

Napisz program, w którym utworzysz klasę o nazwie Publikacja, zawierającą następujące elementy: tytul, autor oraz rokWydania (ich wartości są ustawiane w konstruktorze).

Następnie zaimplementuj w programie klasę Ksiazka, która będzie dziedziczyła po klasie Publikacja. Nadaj jej również właściwości: liczbaStron oraz numerIsbn. Klasa Ksiazka powinna wykorzystywać konstruktor z odziedziczonej klasy we własnym konstruktorze oraz posiadać metodę wypiszDane(), wypisującą wartości wszystkich pól dostępnych w tej klasie. Dodatkowa metoda ileLatOdWydania() niech zwraca liczbę całkowitą określającą, ile lat minęło od wydania książki.

Swoje rozwiązanie przetestuj dla obiektu typu Ksiazka z następującymi wartościami: Alicja w Krainie Czarów (tytuł), Lewis Carroll (autor), 1865 (rok wydania), 241 (liczba stron), 9788377797662 (numer ISBN).

Specyfikacja problemu:

Dane:

Publiczne pola klasy Publikacja:

  • tytul – łańcuch znaków

  • autor – łańcuch znaków

  • rokWydania – liczba całkowita

Publiczne pola klasy Ksiazka:

  • liczbaStron – liczba naturalna z przedziału [1, 5000]

  • numerIsbn – łańcuch znaków

Wynik:

Na standardowym wyjściu program wypisuje wartości wprowadzone podczas tworzenia obiektu zgodnie ze schematem:
tytul autor rokWydania liczbaStron numerIsbn.

REgq9ShHZAnlJ
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Ćwiczenie 2

Napisz program, w którym utworzysz klasę o nazwie Pojazd, zawierającą następujące elementy: marka, model oraz rokProdukcji (ich wartości są ustawiane w konstruktorze). Dodatkowo klasa powinna posiadać metodę wypiszDane(), wypisującą wartości wszystkich swoich pól.

Następnie stwórz w programie klasę Samochod, która będzie dziedziczyła z klasy Pojazd. Zaimplementuj jej również pola: liczbaDrzwi oraz rodzajPaliwa. Klasa Samochod powinna wykorzystywać konstruktor z odziedziczonej klasy we własnym konstruktorze oraz przesłaniać metodę wypiszDane() wypisującą wartości wszystkich pól (ma wykorzystywać implementację tej metody z klasy dziedziczonej). Stwórz metodę kosztUtrzymania(), której zadaniem jest zwrócenie łańcucha znaków mówiącego, jak drogi w utrzymaniu jest samochód. Zaproponuj własną implementację tej metody. Pod uwagę weź dwa parametry: rodzajPaliwaliczbaDrzwi.

Swoje rozwiązanie przetestuj dla obiektu typu Samochod z następującymi wartościami: Małe autko (marka), Compact+ (model), 2019 (rok produkcji), 4 (liczba drzwi), Elektryk (rodzaj paliwa).

Specyfikacja problemu:

Dane:

Publiczne pola klasy Pojazd:

  • marka – łańcuch znaków

  • model – łańcuch znaków

  • rokProdukcji – liczba całkowita

Publiczne pola klasy Samochod:

  • liczbaDrzwi – liczba naturalna z przedziału [2, 5]

  • rodzajPaliwa – łańcuch znaków

Wynik:

Na standardowym wyjściu program wypisuje wartości wprowadzone podczas tworzenia obiektu zgodnie ze schematem:
marka model rokProdukcji liczbaDrzwi rodzajPaliwa.

R1MdzGnVgBICP
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.