Junior
Kaip paveldima klasė naudoja tėvų klasės funkcionalumą?
sobes.tech AI
Atsakymas iš AI
Paveldėjimas: paveldėjimo klasė gauna tėvų klasės viešuosius ir apsaugotus narius.
- Tiesioginė prieiga: Tiesiogiai prie tėvų klasės viešųjų ir apsaugotų laukų ir metodų galima prieiti jų vardu paveldėjimo klasėje.
superraktažodis: Naudojamas tėvų konstruktoriaus iškvietimui arba prieigai prie perrašytų tėvų metodų/laukų, kai paveldėjimo klasėje yra tokių pačių vardų narių.- Perrašymas (overriding): Tėvų metodai (ne
final) gali būti perrašyti paveldėjimo klasėje, keičiant jų elgseną.
// Tėvų klasės pavyzdys
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Tėvo reikšmė: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Šis metodas negali būti perrašytas.");
}
}
// Paveldėjimo klasės pavyzdys
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Tėvų konstruktoriaus iškvietimas
this.childValue = childValue;
}
// Tėvų metodo perrašymas
@Override
public void displayParentValue() {
System.out.println("Perrašyta tėvo reikšmė: " + parentValue); // Prieiga prie apsaugoto lauko
}
public void displayChildValue() {
System.out.println("Vaiko reikšmė: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Tėvų metodo iškvietimas per super
}
}