Programación Orientada a Objetos :: Java Help

La palabra reservada `super`

La palabra reservada super en Java se utiliza para hacer referencia a la clase base de una clase derivada. Se puede utilizar para acceder a los miembros y métodos de la clase base desde la clase derivada y para invocar el constructor de la clase base desde el constructor de la clase derivada.

Acceso a miembros y métodos de la clase base

Cuando una clase hereda de otra clase, puede acceder a los miembros y métodos de la clase base utilizando la palabra reservada super. Por ejemplo, si una clase derivada tiene un método con el mismo nombre que un método de la clase base, se puede utilizar super para llamar al método de la clase base. Aquí hay un ejemplo de cómo se puede utilizar super para acceder a un método de la clase base:

public class Animal { public void comer() { System.out.println("El animal está comiendo"); } }
public class Perro extends Animal { public void comer() { super.comer(); System.out.println("El perro está comiendo"); } }

En este ejemplo, la clase Perro hereda de la clase Animal y tiene un método comer que llama al método comer de la clase Animal utilizando super. Esto permite que la clase Perro agregue su propia funcionalidad al método comer sin tener que reescribir todo el código del método comer de la clase Animal.

Invocación del constructor de la clase base

La palabra reservada super también se puede utilizar para invocar el constructor de la clase base desde el constructor de la clase derivada. Esto se hace utilizando super seguido de paréntesis que contienen los argumentos necesarios para el constructor de la clase base. Aquí hay un ejemplo de cómo se puede utilizar super para invocar el constructor de la clase base:

public class Animal { protected String nombre; protected int edad; public Animal(String nombre, int edad) { this.nombre = nombre; this.edad = edad; } }
public class Perro extends Animal { private String raza; public Perro(String nombre, int edad, String raza) { super(nombre, edad); this.raza = raza; } }

En este ejemplo, la clase Perro hereda de la clase Animal y tiene un constructor que invoca el constructor de la clase Animal utilizando super. Esto permite que la clase Perro inicialice los campos nombre y edad de la clase Animal antes de inicializar su propio campo raza.

Conclusión

La palabra reservada super en Java es una herramienta poderosa que se utiliza para hacer referencia a la clase base de una clase derivada. Se puede utilizar para acceder a los miembros y métodos de la clase base y para invocar el constructor de la clase base desde el constructor de la clase derivada. Esto permite que las clases derivadas hereden funcionalidad de la clase base y extiendan su comportamiento de manera eficiente.

Last modified: 03 March 2025