Dziedziczenie w Java

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 klasy Vehicle i rozszerza jej funkcjonalność o liczbę drzwi. Konstruktor klasy Car przyjmuje nazwę pojazdu i liczbę drzwi, wywołując konstruktor klasy bazowej do inicjalizacji nazwy. Metoda displayInfo jest nadpisana, aby dodatkowo wyświetlić liczbę drzwi.
  • Klasa Main z metodą main: Jest to punkt wejścia programu. Tworzy on obiekt klasy Car 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.

Scroll to Top