![]()
W dzisiejszym artykule dowiesz się, czym są klasy i obiekty w Javie, które stanowią fundament programowania obiektowego. Bez ich zrozumienia trudno ruszyć dalej, bo to właśnie one pozwalają tworzyć kod, który nie jest tylko zbiorem instrukcji, ale odzwierciedla rzeczywistość. Przedstawimy, jak definiować klasy w Javie oraz jak tworzyć i korzystać z obiektów, co stanowi pierwszy krok w nauce programowania obiektowego.
Wprowadzenie
Java to język obiektowy, a więc wszystko co w nim robimy, kręci się wokół obiektów. Programowanie obiektowe wyróżnia się modelowaniem świata rzeczywistego za pomocą klas i obiektów. Wcześniej poznaliśmy typy proste (int, double, boolean) i tablice. Teraz wejdziemy poziom wyżej i zaczniemy tworzyć własne typy danych, opiszemy je i będziemy korzystać z nich w kodzie.
Używanie klas i obiektów w Javie sprawia, że programowanie staje się bardziej intuicyjne, ponieważ zamiast operować na przypadkowych instrukcjach, pracujemy z elementami przypominającymi rzeczywiste byty. W dalszej części artykułu pokażemy, jak definiuje się klasy w Javie, jak tworzy się obiekty i jak z nich korzystać
Klasy
Klasę można traktować jako szablon, plan albo „formę”, która określa jakie cechy i zachowania powinien posiadać dany byt. Można porównać ją do planu budowy domu – sam plan nie jest domem, ale określa, jak będzie wyglądać każdy wybudowany według niego dom.
Przykład:

public– dostępność klasyclass– słowo kluczowe do tworzenia klasySamochod– nazwa klasy
Najpierw programista pisze klasę, a potem tworzy z niej obiekty. Klasa definiuje jak coś wygląda (pola klasy, czyli dane) i co potrafi (metody, czyli zachowania).
Pola klasy
Pola to zmienne przechowujące stan obiektu, czyli jego cechy i właściwości. Każdy obiekt klasy może mieć własne wartości pól.
Metody klasy
Są to funkcje definiowane w klasie, które opisują, co obiekt potrafi robić, czyli jego zachowania.
Metody mogą:
- wyświetlać informacje
- wykonywać akcję
- przetwarzać dane pól
- zwracać wyniki
Obiekty
Obiekt to konkretny egzemplarz klasy. Jeśli porównamy klasę do planu domu to obiekt jest właśnie tym domem. Każdy obiekt ma swoje własne dane. Jeśli stworzysz np. dwa samochody, mogą one mieć różne marki, modele i lata produkcji. Obiekty pozwalają nam tworzyć konkretne instancje klasy, z własnymi danymi i zachowaniem.
Obiekt tworzymy w kodzie za pomocą słowa kluczowego new.
Przykład:

Klasa jako własny typ danych
Do tej pory używaliśmy typów prostych. W Java klasy pozwalają tworzyć własne typy danych, które mogą przechowywać różne informacje i zachowania w jednym obiekcie.
Typy proste przechowują pojedynczą wartość:
int liczba = 21;
double cena = 23.50;
boolean aktywny = true;
Jednak jeśli chcemy opisać coś bardziej złożonego należy użyć klasy:
public class Samochod {
String marka;
String model;
int rokProdukcji;
void jedz() {
System.out.println(marka + " " + model + " jedzie!");
}
}
Samochód ma markę, model, rok produkcji i może jechać. Klasę Samochod, możemy traktować jak nowy typ danych.
Samochod auto1; //deklaracja zmiennej typu Samochod
auto1 = new Samochod(); //tworzenie obiektu
Tak jak np. zmienna int liczba przechowuje liczbę, Samochod auto1 przechowuje obiekt typu Samochod.
Dzięki klasom można tworzyć wiele obiektów tego samego typu.
Samochod auto1 = new Samochod();
Samochod auto2 = new Samochod();
auto1.marka = "Toyota";
auto2.marka = "Honda";
System.out.println(auto1.marka); // Toyota
System.out.println(auto2.marka); // Honda
Każdy obiekt jest niezależny tak samo jak różne zmienne tego samego typu.
Konstruktor
Tworzenie obiektu i ustawianie pól można uprościć dzięki konstruktorom. Konstruktor to specjalna metoda w klasie, która ułatwia tworzenie obiektów w Javie. Każdy obiekt musi zostać skonstruowany, a konstruktor jest właśnie tym mechanizmem, który to umożliwia.
Cechy konstruktora:
- ma taką samą nazwę jak klasa
- nie ma typu zwracanego (nawet
void) - jest wywoływany automatycznie przy tworzeniu obiektu za pomocą
new
Konstruktor domyślny
Konstruktor domyślny to konstruktor bez parametrów, który ustawia pola obiektu na wartości domyślne lub nie robi nic. Jest użyteczny, gdy chcemy tworzyć obiekty, a potem ustawiać ich pola w kodzie.
Przykład domyślnego konstruktora:


Konstruktor z parametrami
Konstruktor z parametrami pozwala utworzyć obiekt i od razu nadać mu konkretne wartości pól. Dzięki temu nie trzeba ich ustawiać osobno po utworzeniu obiektu.
Przykład konstruktora z parametrami:


this– wskazuje na aktualny obiekt. Jest potrzebne, gdy parametr konstruktora ma tę samą nazwę co pole klasy. Dziękithiskompilator wie, że chodzi o pole klasy, a nie lokalną zmienną/metodę.
Podsumowanie
Klasy i obiekty są podstawą nie tylko architektury aplikacji, ale i pisania porządnego, czytelnego kodu w Javie. Opanowanie ich otwiera drzwi do bardziej zaawansowanych zagadnień programowania. Można powiedzieć, że klasa jest definicją planu lub przepisu, który określa, jakie cechy i zachowania mają posiadać obiekty. Obiekt natomiast to już konkretna instancja tego planu – rzeczywisty byt w pamięci programu, z własnymi danymi i możliwością działania. Pola przechowują jego właściwości, a metody pozwalają wykonywać działania. Natomiast konstruktor umożliwia tworzenie obiektów w pełni zainicjalizowanych.
Dzięki zrozumieniu klas i obiektów kod staje się bardziej intuicyjny, elastyczny i łatwiejszy w rozbudowie. Zamiast operować na pojedynczych zmiennych, programista tworzy elementy przypominające rzeczywiste byty, co jest esencją programowania obiektowego.
O autorze
Tester oprogramowania z pasją do jakości i technologii. Łączy doświadczenie w testach manualnych i automatycznych, koncentrując się przede wszystkim na aplikacjach webowych oraz usługach SOAP i REST. Testowanie to dla niego nie tylko szukanie błędów, ale przede wszystkim kwestionowanie przyjętych założeń i usprawnianie tego, co nie działa – również w samym procesie testowym. Lubi zmieniać, angażować się i aktywnie budować proces testowy, tak by miał sens, a nie tylko formę. Prywatnie fan rocka, biwakowania, podróży.
