Obraz zawierający tekst, Czcionka, Grafika

Opis wygenerowany automatycznie 

Kierunek Informatyka

 

Instrukcja do ćwiczeń laboratoryjnych nr:

2

Nazwa przedmiotu:
Programowanie w języku Java

Temat:

Wprowadzenie do programowania obiektowego w języku Java

Tryb studiów: stacjonarne

Czas trwanie ćw.

2x45 min

Autor materiałów: dr Marcin Skuba

1. Treści programowe:

Deklaracja klasy, deklaracja zmiennych obiektowych, metod i konstruktorów, tworzenie nowych obiektów, odwoływanie się do zmiennych obiektowych z poziomu obiektu, wywoływanie metod i konstruktorów.

 

2. Cel zajęć:

Wprowadzenie do programowania obiektowego w Javie.

Opanowanie umiejętności pojmowania programu w kategoriach obiektu.

Opanowanie umiejętności deklaracji metod i konstruktorów, tworzenia klas i obiektów.

 

3. Materiały

           

Klasa jest szablonem (opisem) użytym do stworzenia obiektu. Każdy obiekt utworzony według jednej klasy będzie miał podobne lub wręcz takie same cechy.

Definicję klasy zaczynamy od słowa kluczowego class oraz nazwy, która musi być taka sama jak nazwa pliku, w którym została zapisana. Wnętrze klasy określone jest przez klamerki {}.  

 

Obiekt jest instancją klasy. Obiekt służy do przechowywania konkretnych wartości zdefiniowanych wg opisu danej Klasy. Ma również dostępne składowe w postaci zmiennych, konstruktorów oraz metod. 

 

Metoda pozwala grupować instrukcje oraz wywoływać je dowolną ilość razy. Pojęcie metody (programowanie obiektowe) podobne jest do pojęcia funkcji np. w języku C (programowanie strukturalne). 

 

 

·       Tworzenie odwołania do obiektu (zmiennej obiektowej):             
NazwaKlasy nazwaObiektu;

·       tworzenie nowego obiektu oraz wywołanie konstruktora:            
new NazwaKlasy();

·       tworzenie nowego obiektu, wywołanie konstruktora oraz przypisanie obiektu do odwołania (zmiennej obiektowej):       
nazwaObiektu = new NazwaKlasy();

           

można połączyć wszystkie elementy:                                              
NawaKlasy nazwaObiektu = new NazwaKlasy();

 

            operator new służy do dynamicznej alokacji obiektu w pamięci operacyjnej.

 

Wskazówki: Nazwy klas deklarujemy z dużej litery. Nazwy zmiennych oraz nazwy metod z małej.

 

Przykładowy program obrazujący strukturę oraz sposób deklaracji klas, jak również tworzenie i używanie obiektów:

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

Konstruktor to specjalna metoda charakteryzująca się tym, iż wywoływana jest tylko raz podczas tworzenia nowego obiektu. Wykorzystywana jest np. do ustawiania wartości początkowych dla zmiennych oraz funkcji, które muszą być wykonane na samym początku tworzenia obiektu.

 

Deklaracja konstruktora - nazwa konstruktora jest taka sama jak nazwa klasy, w którym jest deklarowany, konstruktor może przekazywać wartości, ale nie może wartości zwracać. Przed deklaracją konstruktora nie definiujemy typu zwracanej wartości dotyczy to również określenia void.

 

Poniższy przykład programu ukazuje programowanie obiektowe z wykorzystaniem konstruktorów. Deklarując kilka konstruktorów mówimy o mechanizmie przeciążania. Przeciążać konstruktor można podobnie jak metodę ilością lub typem argumentów.

Obraz zawierający tekst, zrzut ekranu

Zawartość wygenerowana przez AI może być niepoprawna.

 

Klasa Student jest szablonem lub planem dla tworzenia obiektów, które reprezentują konkretnych studentów. W kontekście programowania obiektowego, każdy obiekt Student jest instancją tej klasy, posiadającą swoje własne, unikalne dane (pola/atrybuty), takie jak:

Klasa ta definiuje również zachowanie obiektów (metody), takie jak:

Dzięki temu, dane i operacje na nich są hermetyzowane w jednym miejscu.

 

Obraz zawierający tekst, zrzut ekranu

Zawartość wygenerowana przez AI może być niepoprawna.

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

 

Klasa Uczelnia jest agregatem i klasą główną, która zarządza obiektami typu Student. W tym konkretnym programie, jej zadaniem jest:

Ten projekt odzwierciedla świat rzeczywisty: uczelnia składa się z wielu studentów, a programowanie obiektowe pozwala odwzorować tę relację w kodzie, co czyni program bardziej zorganizowanym i łatwiejszym do rozbudowy.

 

 

4. Zadania

 

Zadanie 1: Tekst

Napisz program o nazwie „Tekst”, w którym:

- zadeklaruj metodę „pokazTekst” wyświetlającą 10 razy na ekranie napis „1). Język Java”.

- wywołaj metodę pokazTekst (metoda nie może być statyczna)

 

 Zadanie 2: Towar w sklepie

Napisz program, w którym zadeklaruj klasę Towar przechowującą następujące składowe:

- zmienną nazwa,

- zmienną cena,

- zmienną kod,

- metodę wyświetlającą wartości wszystkich składowych na ekranie o nazwie  pokazWartosci,

- metodę ustawWartosci przypisującą wartości podane jako argumenty tej metody do zmiennych nazwa, cena, kod.

 

Zadeklaruj klasę Sklep (główną klasę programu), w której utwórz trzy obiekty oraz przypisz im

przykładowe wartości odwołując się bezpośrednio do zmiennych lub przez metodę ustawWartości.

Wyświetl wartości wszystkich zadeklarowanych obiektów.

 

 Zadanie 3: Towar w sklepie z dodatkowymi sposobami tworzenia nowego obiektu

Zmodyfikuj program z zadania 2 tak, aby w czasie tworzenia nowego obiektu przypisywane były wartości:

- początkowe dla składowych nazwa „brak”, cena „0.0”, kod „A00000”.

- podane jako argumenty: nazwa, cena, kod

W klasie Sklep utwórz kilka obiektów na wszystkie możliwe sposoby.

 

Zadanie 4: Samochody

Napisz program przechowujący informacje o samochodach uwzględniając takie atrybuty, jak: marka, moc silnika, typ silnika, cena.

Zadeklaruj wszystkie niezbędne składowe (zmienne oraz metody) wspomagające zarządzaniu danymi. Wprowadź informację o co najmniej trzech samochodach.

Zadeklaruj niezbędne elementy programu tak aby możliwe było wprowadzanie danych samochodu w trakcie tworzenia nowego obiektu.

 

Zadanie 5: Suma cyfr liczby

Stwórz klasę KalkulatorCyfr, która będzie zawierać całą logikę obliczania sumy cyfr.

  1. Klasa KalkulatorCyfr powinna mieć:
  2. Klasa główna (np. Main) będzie odpowiedzialna za:

Utwórz trzy różne obiekty ukazując działanie programu.