Junior
¿Cómo utiliza una clase heredada la funcionalidad de la clase padre?
sobes.tech AI
Respuesta de la IA
A través de la herencia: la clase hija recibe los miembros públicos y protegidos de la clase padre.
- Acceso directo: Se puede acceder directamente a los campos y métodos públicos y protegidos del padre por su nombre dentro de la clase hija.
- Palabra clave
super: Se usa para llamar al constructor del padre o para acceder a los métodos/campos sobrescritos del padre cuando en la clase hija hay miembros con el mismo nombre. - Sobrescritura (overriding): Los métodos del padre (que no sean
final) pueden ser sobrescritos en la clase hija, modificando su comportamiento.
// Ejemplo de clase padre
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Valor del padre: " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Este método no puede ser sobrescrito.");
}
}
// Ejemplo de clase hija
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Llamada al constructor del padre
this.childValue = childValue;
}
// Sobrescribir método del padre
@Override
public void displayParentValue() {
System.out.println("Valor sobrescrito del padre: " + parentValue); // Acceso al campo protegido del padre
}
public void displayChildValue() {
System.out.println("Valor del hijo: " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Llamada al método del padre mediante super
}
}