Klasy (ang. classes)

Jednymi z głównych komponentów programowania obiektowego są klasy i obiekty.

Czym są obiekty?

W rzeczywistości jest wiele obiektów wokół nas, np. komputer, klawiatura, stół oraz wszystkie rzeczy, które widzimy. Używając nazewnictwa programistycznego mają one dwie główne cechy: stan (ang.state) i zachowanie (ang. behaviour). Stanem może być np. kształt lub rozmiar czegoś, wiek,  model, ilość nóg np. w stole itd. Zachowaniem w przypadku komputera może być: jego włączenie, wyłączenie, rysowanie czegoś na monitorze, drukowanie, wydawanie dźwięków.

Obiekty są umieszczone w polach (ang.fields) ( znamy je jako zmienne) i eksponują swoje zachowanie w tzw. metodach.

O klasach należy myśleć jako o szablonach lub jako o strategiach do tworzenia obiektów.

Komunikatem, który tworzy nową klasę w Javie jest public class Main

Stwórzmy naszą pierwszą klasę. W tym celu otwieramy nowy projekt i nadajemy mu  nazwę Classes, klikamy dwukrotnie w oknie po lewej stronie w Classes, potem dwukrotnie w src, potem prawym przyciskiem myszy w domenę i wybieramy New, potem Java Class:

12.06

 

13.06

Nadajmy nazwę Car. Wpisujemy w miejsce „Name” nazwę „Car” (pamiętajmy o wielkiej literze na początku nazwy) i wciskamy OK.

W oknie Intellij pojawia się:

package com.wordpress.programujeodzera;

public class Car {
}

jest to komunikat, że tworzymy nową klasę o nazwie Car.

Możemy zlokalizować klasę na naszym komputerze, klikając prawym przyciskiem myszy w klasę Car i wybierając „Show in Explorer”.

13.06.3

wówczas wyświetli się nam folder zawierający utworzoną klasę:

13.06.4

jeśli klikniemy w klasę Car prawym przyciskiem i otworzymy zawartość za pomocą Notatnika, pojawi się nam to samo co w oknie konsoli Intellij:

13.06.05

Słowa public, class, package są to tzw. keywords (słowa klucze- była o nich mowa wcześniej) w Javie.

public jest modyfikatorem dostępności (oznacza, że inne klasy mają nieograniczony dostęp do klasy, którą tworzymy). Innym modyfikatorem dostępności może być modyfikator „private„- oznacza, że żadne inne klasy nie mają dostępu to tej klasy.

Mając utworzoną klasę, potrzebujemy utworzyć jakieś zmienne, które są częścią tej klasy. Zmienne tworzone są wewnątrz metody ( tzw. zmienne lokalne), dostępne są dla całej klasy, którą tworzymy.

Kiedy tworzymy pole dla klasy, musimy określić modyfikator dostępności. Generalną zasadą podczas tworzenia pola w języku Java jest użycie modyfikatora „private”.

Stwórzmy jakieś pola dla naszej klasy:

public class Car {
    private int doors;
}

jak widać powyżej oprócz typu i nazwy zmiennej „doors” (drzwi), określiliśmy modyfikator dostępu ” private”. Zmienna „doors” jest jednym z komponentów stanu samochodu. To jest jedna z cech samochodu, możemy również dodać inne, np.:

public class Car {
    private int doors;
    private int wheels;
    private String models;
    private String engine;
    private String colour;
    }

powyżej stworzyliśmy tzw. szablon ( ang. template) zmiennych, które będą nieodłącznymi elementami samochodu. Oczywiście, podczas tworzenia prawdziwych aplikacji, jest wtedy wiele więcej pól (mogą być setki różnych pól, które możemy dodać jeśli chodzi o samochód). Stworzyliśmy więc prostą klasę o nazwie Car z pięcioma polami ( będącymi tzw. state components).

Następnie musimy utworzyć obiekt z naszej klasy o nazwie „Car”. W tym celu musimy wrócić do  klasy Main, która jest tworzona automatycznie przez Intellij, kiedy zaczynamy nowy projekt.

W tym celu klikamy dwukrotnie w „Main” w oknie projektu po lewej stronie:

14.06.1

możemy tutaj stworzyć obiekt na podstawie tamtego samochodu.