Sobes.tech
Junior

Ako podtrieda využíva funkčnosť rodičovskej triedy?

sobes.tech AI

Odpoveď od AI

Dedičnosť: podtrieda dostáva verejné a chránené členy triedy rodiča.

  • Priamy prístup: K verejným a chráneným poliam a metódam triedy rodiča je možné priamo pristupovať podľa ich mena vnútri podtriedy.
  • Kľúčové slovo super: Používa sa na volanie konštruktora rodiča alebo na prístup k prepísaným metódam/pólom rodiča, keď v podtriede sú členovia s rovnakým menom.
  • Prepisovanie (overriding): Metódy rodiča (ktoré nie sú final) môžu byť prepísané v podtriede, čím sa mení ich správanie.
// Príklad rodičovskej triedy
class Parent {
    protected int parentValue;

    public Parent(int value) {
        this.parentValue = value;
    }

    public void displayParentValue() {
        System.out.println("Hodnota rodiča: " + parentValue);
    }

    public final void cannotBeOverridden() {
        System.out.println("Táto metóda nemôže byť prepísaná.");
    }
}

// Príklad podtriedy
class Child extends Parent {
    private int childValue;

    public Child(int parentValue, int childValue) {
        super(parentValue); // Volanie konštruktora rodiča
        this.childValue = childValue;
    }

    // Prepisovanie metódy rodiča
    @Override
    public void displayParentValue() {
        System.out.println("Prepísaná hodnota rodiča: " + parentValue); // Prístup k chránenému poľu rodiča
    }

    public void displayChildValue() {
        System.out.println("Hodnota dieťaťa: " + childValue);
    }

    public void callParentMethod() {
        super.displayParentValue(); // Volanie metódy rodiča cez super
    }
}