728 x 90

Kurs programowania Java. Część 4: Klasy

Kurs programowania Java. Część 4: Klasy

Działanie klas i obiektów pozwala modelować świat rzeczywisty, w którym mamy z nimi do czynienia na codzień. Przede wszystkim należy zrozumieć czym jest klasa. W życiu codziennym często słyszymy o towarze wysokiej klasy, na przykład o telewizorze wysokiej klasy. Jest to telewizor, który w domniemaniu posiada pewien zestaw cech – jest elegancki, ma dużo funkcji, jest drogi. Mówiąc również o dowolnym telewizorze na myśl przychodzą różne urządzenia, które spełniają znane wszystkim warunki: składają się z ekranu (LCD, CRT, OLED), elektroniki, złącza antenowego, tunera, czujki na podczerwień i pilota, jednocześnie możemy wyobrazić sobie całą gamę tego typu urządzeń.

W najbliższym czasie skupimy się na definiowaniu Figur geometrycznych, które również są ogólnym pojęciem, opisującym całą gamę obiektów, do których należą chociażby narysowany na kartce kwadrat, prostokąt narysowany kredą na tablicy, czy okrąg wyświetlany na ekranie komputera. Trzeba tutaj zauważyć że wszystkie te obiekty należą do klasy figur geometrycznych (bo tak możemy je nazwać i posiadają ten odpowiedni zestaw cech), jednak kwadrat na kartce i kwadrat na tablicy to dwie różne instancje tej klasy – dwa różne obiekty!.

Zadanie

Utworzyć plik Figura.java z definicją klasy zawierającej własności zmienno-przecinkowe: pole, obwod oraz wymiar, a także jedną własność nazwa typu String. Klasa powinna zawierać bezargumentowy konstruktor inicjujący pola wartościami 0. Ponadto, należy zaimplementować metodę wypisz(), wypisu- jącą na ekran (standardowe wyjście) nazwę figury i wartość jej pola oraz obwodu. W metodzie main(-) utworzyć obiekt klasy Figura, zainicjować go odpowiednio i wypisać informację na ekran.

Rozwiązanie

Należy utworzyć plik Figura.java zawierający następującą treść. Stosując się do konwencji notacyjnej nazwy klas rozpoczynamy z dużej litery.

public class Figura {
   public double pole;
   public double obwod;
   public double wymiar;
   public String nazwa;
}

Kolejne pola deklarujemy podając ich modyfikator dostępu, typ i nazwę. Stosując się do konwencji notacyjnej nazwy pól rozpoczynamy z małej litery. W przypadku nazwy wielowyrazowej można skorzystać z tak zwanej notacji wielbłądziej, w której kolejne słowa, nieoddzielone spacjami są oznaczane dużymi pierwszymi literami, na przykład nazwaMojejDlugiejZmiennej.

Konstruktor jest specyficzną metodą nie posiadającą w deklaracji typu zwracanego. Obiekty, które są w rzeczywistości zwracane przez tę metodę to obiekty typu danej klasy. Konstruktor posiada zatem modyfikator dostępu, który w większości wypadków będzie modyfikatorem public oraz nazwę, która jest identyczna jak nazwa klasy.

public Figura(){
   pole = 0;
   obwod = 0;
   wymiar = 0;
   nazwa = "";
}

W powyższym przypadku zdefiniowany został konstruktor bezargumentowy, który nie posiada żadnych argumentów. W konstruktorze tym zostały zaini- cjalizowane wszystkie pola zdefiniowane w klasie Figura.

Kolejnym elementem jest zdefiniowanie metody wypisz(), wypisującej na ekran (standardowe wyjście) nazwę figury i wartość jej pola oraz obwodu. Ma to być również metoda bezargumentowa, nie zwracająca żadnej wartości (a więc należy użyć typu void)

public void wypisz(){
System.out.printf ("Figura: %s \n Pole: %f, Obwód %f",nazwa , pole , obwod );
}

Pełny listing rozwiązania przedstawiony jest poniżej

public class Figura {
   public double pole;
   public double obwod;
   public double wymiar;
   public String nazwa;
   public Figura(){
    pole = 0;
    obwod = 0;
    wymiar = 0;
    nazwa = "";
   }
   public void wypisz(){
    System.out.printf ("Figura: %s \n Pole: %f, Obwód %f",nazwa , pole , obwod );
   }
}

Aby przetestować działanie klasy, należy stworzyć nową klasę zawierającą funkcję main, w której zainicjalizowany zostanie obiekt klasy Figura i wyko- nane zostaną jego metody.

public class Zdanie1 {
public static void main( String [ ] args ) { 
Figura f = new Figura();
f.nazwa = "Koło";
f.wymiar = 1;
f.pole = 3.14;
f.obwod = 6.28; 
f.wypisz() ;
}

W trzeciej linii kodu jest zadeklarowana nowa zmienna typu Figura. W tej samej linii jest stworzony nowy obiekt typu Figura i jego referencja jest przypisana do tej zmiennej. W liniach 4-7 modyfikowana jest wartość pól obiektu. Po nazwie obiektu następuje kropka a po kropce nazwa konkretnego pola. Przypisanie wartości w ten sposób jest możliwe, ponieważ pola mają modyfikatory public.

Leave a Comment

Your email address will not be published. Required fields are marked with *

Cancel reply

Inne artykuły

Zapraszamy na WMiI UMK

Studia na Wydziale Matematyki i Informatyki

Nasze szkolenia

iOS11 Design Patterns: szkolenie w Warszawie, 22-24.09.2017


Python – i Ty możesz programować: szkolenie dla nauczycieli, 13-14 września 2017 w Toruniu


Od zera do Apple kodera – szkolenie dla początkujących, 8-10 września 2017 w Warszawie


Xamarin – programowanie wieloplatformowe, 9-10 września 2017 w Toruniu

Ostatnie artykuły

Zapraszamy na UMK