Junior
Jak dědičná třída využívá funkčnost třídy rodiče?
sobes.tech AI
Odpověď od AI
Děděním: potomek získává veřejné a chráněné členy třídy rodiče.
- Přímý přístup: K veřejným a chráněným polím a metodám třídy rodiče lze přímo přistupovat podle jejich jména uvnitř třídy potomka.
- Klíčové slovo
super: Používá se k volání konstruktoru rodiče nebo k přístupu k přepsaným metodám/pólům rodiče, když v třídě potomka jsou členové se stejným jménem. - Přepsání (overriding): Metody rodiče (které nejsou
final) lze přepsat v třídě potomka, čímž se změní jejich chování.
// Příklad třídy rodiče
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Hodnota rodiče: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Tato metoda nemůže být přepsána.");
}
}
// Příklad třídy potomka
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Volání konstruktoru rodiče
this.childValue = childValue;
}
// Přepsání metody rodiče
@Override
public void displayParentValue() {
System.out.println("Přepsaná hodnota rodiče: " + parentValue); // Přístup k chráněnému poli rodiče
}
public void displayChildValue() {
System.out.println("Hodnota dítěte: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Volání metody rodiče přes super
}
}