Programowanie obiektowe w Java – klasy, dziedziczenie i modyfikatory dostępu

Programowanie obiektowe (OOP) jest fundamentalnym paradygmatem programowania wykorzystywanym w języku Java. Kluczowymi elementami OOP są klasy, dziedziczenie oraz modyfikatory dostępu, które razem tworzą potężne narzędzie do tworzenia zorganizowanego i modularnego kodu. W tej lekcji omówimy, jak tworzyć klasy w Javie, wykorzystać dziedziczenie (extends), oraz jak stosować modyfikatory dostępu (private, protected, public), aby kontrolować dostęp do składowych klasy.

Definicja klasy i dziedziczenie

Zacznijmy od zdefiniowania prostej klasy Animal, która posłuży jako bazowa klasa dla innych klas reprezentujących konkretne zwierzęta.

// Klasa bazowa Animal
public class Animal {
    // Modyfikator dostępu protected pozwala
    // na dostęp w klasach dziedziczących
    protected String name;
    protected int age;

    // Konstruktor klasy Animal
    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Metoda do wyświetlania informacji o zwierzęciu
    public void displayInfo() {
        System.out.println("Imię: " + name + ", Wiek: " + age);
    }
}

Następnie, zdefiniujmy klasę Dog, która dziedziczy z klasy Animal i rozszerza ją o dodatkowe właściwości oraz metody.

// Klasa Dog dziedzicząca z klasy Animal
public class Dog extends Animal {
    private String breed; // Rasa psa, dostęp prywatny

    // Konstruktor klasy Dog
    public Dog(String name, int age, String breed) {
        super(name, age); // Wywołanie konstruktora klasy bazowej
        this.breed = breed;
    }

    // Nadpisana metoda do wyświetlania informacji
    @Override
    public void displayInfo() {
        super.displayInfo(); // Wywołanie metody z klasy bazowej
        System.out.println("Rasa: " + breed);
    }
}

Użycie modyfikatorów dostępu

Modyfikatory dostępu w Javie kontrolują widoczność klas, metod, oraz zmiennych. Istnieją cztery główne typy:

  • private: Składowa jest dostępna tylko wewnątrz klasy.
  • protected: Składowa jest dostępna w klasie, w klasach dziedziczących oraz w tym samym pakiecie.
  • public: Składowa jest dostępna z każdego miejsca.
  • Brak modyfikatora (domyślny): Składowa jest dostępna wewnątrz pakietu.

W przykładzie klasy Dog, pole breed jest oznaczone jako private, co oznacza, że dostęp do tej zmiennej jest możliwy tylko z wnętrza klasy Dog. Metoda displayInfo() jest publiczna, co pozwala na jej wywołanie z zewnątrz klasy.

Podsumowanie

W tej lekcji omówiliśmy podstawy programowania obiektowego w Javie, skupiając się na klasach, dziedziczeniu oraz modyfikatorach dostępu. Klasy i dziedziczenie pozwalają na organizację kodu w sposób, który ułatwia jego rozszerzanie i utrzymanie. Modyfikatory dostępu zapewniają kontrolę nad dostępnością składowych klasy, co jest kluczowe dla bezpieczeństwa i integralności kodu. Zrozumienie tych koncepcji jest fundamentem do tworzenia dobrze zorganizowanego i efektywnego kodu w Javie.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top