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
}
}