La palabra clave 'extends' en Java se utiliza para heredar las propiedades y métodos de una superclase. Este es el principal pilar de uno de los fundamentos más importantes de la programación orientada a objetos: la herencia.
La herencia permite una clase (clase hija o subclase) adquirir, o 'heredar', campos y métodos de otra clase (clase padre o superclase). La palabra clave 'extends' es la encargada de hacer posible esta herencia. La estructura general de cómo se usa 'extends' es de la siguiente manera:
class SuperClase {
// campos y métodos
}
class SubClase extends SuperClase {
// más campos y métodos
}
En este ejemplo, SubClase
hereda todos los campos y métodos accesibles de SuperClase
.
Imaginemos que tenemos una clase Vehiculo
con algunas propiedades generales que todos los vehículos compartirán, como la velocidad máxima y el color. Ahora, quiero crear una clase Auto
que debe tener las mismas propiedades, pero también algunas adicionales, como el tamaño del maletero.
Aquí es donde la herencia y la palabra clave 'extends' son útiles.
class Vehiculo {
String color;
int maxSpeed;
// más campos y métodos
}
class Auto extends Vehiculo {
int trunkSize;
// más campos y métodos
}
En este caso, un objeto de la clase Auto
tiene acceso a campos como color
, maxSpeed
y trunkSize
, aunque los dos primeros están definidos en la superclase Vehiculo
.
Es esencial recordar que 'extends' en Java sólo permite la herencia de una única superclase. Esta limitación se conoce como la herencia simple y es lo contrario de la herencia múltiple, que ocurre cuando una clase puede heredar comportamientos y características de más de una superclase.