Junior
Cum utilizează clasa copil funcționalitatea clasei părinte?
sobes.tech AI
Răspuns de la AI
Prin moștenire: clasa moștenitoare primește membrii publici și protejați ai clasei părinte.
- Acces direct: Se poate accesa direct câmpurile și metodele publice și protejate ale părintelui după nume în interiorul clasei moștenitoare.
- Cuvântul cheie
super: Este folosit pentru a apela constructorul părintelui sau pentru a accesa metodele/câmpurile suprascrise ale părintelui atunci când în clasa moștenitoare există membri cu același nume. - Suprascriere (overriding): Metodele părintelui (care nu sunt
final) pot fi suprascrise în clasa moștenitoare, modificându-și comportamentul.
// Exemplu de clasă părinte
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Valoarea părintelui: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Această metodă nu poate fi suprascrisă.");
}
}
// Exemplu de clasă moștenitoare
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Apelarea constructorului părintelui
this.childValue = childValue;
}
// Suprascrierea metodei părintelui
@Override
public void displayParentValue() {
System.out.println("Valoarea suprascrisă a părintelui: " + parentValue); // Acces la câmpul protejat al părintelui
}
public void displayChildValue() {
System.out.println("Valoarea copilului: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Apelarea metodei părintelui prin super
}
}