Junior
Hogyan használja az alosztály a szülő osztály funkcionalitását?
sobes.tech MI
Válasz az MI-től
Öröklődés útján: az leszármazott osztály megkapja a szülő osztály nyilvános és védett tagjait.
- Közvetlen hozzáférés: A szülő nyilvános és védett mezőihez és metódusaihoz közvetlenül hozzáférhetünk a nevükön belül a leszármazott osztályban.
superkulcsszó: Használható a szülő konstruktorának meghívására vagy a felülírt szülői metódusok/mezők elérésére, amikor a leszármazott osztályban ugyanaz a nevű tagok vannak.- Felülírás (overriding): A szülő (nem
final) metódusai felülírhatók a leszármazott osztályban, megváltoztatva viselkedésüket.
// Szülő osztály példája
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Szülő értéke: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Ez a metódus nem írható felül.");
}
}
// Leszármazott osztály példája
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Szülő konstruktorának hívása
this.childValue = childValue;
}
// Szülő metódus felülírása
@Override
public void displayParentValue() {
System.out.println("Felülírt szülő érték: " + parentValue); // Hozzáférés a védett szülői mezőhöz
}
public void displayChildValue() {
System.out.println("Gyermek értéke: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Szülő metódusának hívása a super segítségével
}
}