Programowanie obiektowe (OOP) jest jednym z fundamentalnych paradygmatów w Javie, pozwalającym na organizację kodu w sposób modularny i łatwy do zarządzania. Kluczowymi konceptami OOP są klasy i dziedziczenie, które umożliwiają definiowanie nowych typów danych oraz budowanie hierarchii obiektów. W tej lekcji przedstawimy, jak tworzyć własne klasy w Javie i jak wykorzystywać dziedziczenie do rozszerzania ich funkcjonalności.
Przykład kodu: Prosta hierarchia klas w Javie
// Klasa bazowa opisująca pojazd
class Vehicle {
// Pole opisujące nazwę pojazdu
protected String name;
// Konstruktor klasy Vehicle
public Vehicle(String name) {
this.name = name;
}
// Metoda do wyświetlania informacji o pojazdzie
public void displayInfo() {
System.out.println("Pojazd: " + name);
}
}
// Klasa Car dziedzicząca z klasy Vehicle
class Car extends Vehicle {
// Pole opisujące liczbę drzwi w samochodzie
private int doors;
// Konstruktor klasy Car
public Car(String name, int doors) {
super(name); // Wywołanie konstruktora klasy bazowej
this.doors = doors;
}
// Nadpisanie metody displayInfo
@Override
public void displayInfo() {
super.displayInfo(); // Wywołanie metody z klasy bazowej
System.out.println("Liczba drzwi: " + doors);
}
}
// Główna klasa z metodą main
public class Main {
public static void main(String[] args) {
// Utworzenie obiektu klasy Car
Car myCar = new Car("Ford", 4);
myCar.displayInfo(); // Wywołanie metody wyświetlającej informacje
}
}
Wyjaśnienie działania programu
- Klasa
Vehicle
: Jest to klasa bazowa, która definiuje ogólne cechy pojazdu, takie jak nazwa. Zawiera konstruktor do inicjalizacji nazwy pojazdu oraz metodędisplayInfo
do wyświetlenia informacji o pojazdzie. - Klasa
Car
: Dziedziczy z klasyVehicle
i rozszerza jej funkcjonalność o liczbę drzwi. Konstruktor klasyCar
przyjmuje nazwę pojazdu i liczbę drzwi, wywołując konstruktor klasy bazowej do inicjalizacji nazwy. MetodadisplayInfo
jest nadpisana, aby dodatkowo wyświetlić liczbę drzwi. - Klasa
Main
z metodąmain
: Jest to punkt wejścia programu. Tworzy on obiekt klasyCar
i wywołuje jego metodędisplayInfo
, aby wyświetlić szczegółowe informacje o samochodzie.
Podsumowanie
Tworzenie własnych klas i implementowanie dziedziczenia w Javie pozwala na budowanie skomplikowanych systemów w sposób zorganizowany i efektywny. Dziedziczenie umożliwia rozszerzanie istniejących klas o nowe funkcjonalności, przy jednoczesnym zachowaniu i wykorzystaniu kodu klasy bazowej. Stosowanie tych technik jest kluczowe w efektywnym wykorzystaniu paradygmatu programowania obiektowego.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Java od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.