Herencia
Herencia
En Java es posible heredar atributos y métodos de una clase a otra (herencia), este concepto lo podemos categorizar en dos categorías:
- Subclase (secundaria): La clase que hereda de otra clase
- Superclase (padre): La clase de la que se hereda
Para heredar de una clase, utilizamos la palabra clave extends
En el siguiente ejemplo la clase coche
(subclase) hereda atributos y métodos de la clase vehiculos
(superclase)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class vehiculo {
protected String marca = "Ford"; // Atributo del vehículo
public void bocina(){ // Método del vehículo
System.out.println("Tuut, tuut!");
}
}
class coche extends vehiculo {
private String nombreModelo = "Raptor"; // Atributo del coche
public static void main(String[] args){
// Creo mi objeto coche
coche miCoche = new coche();
// Llamo al metodo bocina (de la clase de vehículo) en el objeto coche
miCoche.bocina();
// Muestro el valor del atributo nombreModelo de la clase vehiculo y el valor del nombreModelo de la clase coche
System.out.println(miCoche.marca + " " + miCoche.nombreModelo);
}
}
Si te das cuenta establecemos el atributo de marca en vehículo con un protected
. Si estuviera configurado en private, la clase coche
no podría acceder a él.
Al igual que definíamos variables con final
para evitar su modificación, en las clases también lo podemos hacer añadiendo la misma palabra clave (final
):
1
2
3
4
5
6
7
final class vehiculo {
// ...
}
class coche extends vehiculo {
// Error
}
This post is licensed under CC BY 4.0 by the author.