¿Qué es la Herencia?

Una de las características de los lenguajes de programación orientada a objetos (POO) es la herencia. La herencia es un mecanismo que nos permite crear nuevas clases basandonos en clases ya creadas, y nos ayuda a evitar la repetición de codigo.
EJEMPLO:

Imaginemos que que necesitamos crear una aplicación que nos ayude a catalogar los animales que nos encontremos cuando paseemos por el bosque. Todos tendran elementos en común (todos tendrán patas, así como todos tendrán un nombre científico, etc …), que podremos establecer como variables en la clase principal, que llamaremos Animal. Pero también tendrán peculiaridades dependiendo de si són mamiferos u otros, así que tendremos que hacer subclases que contengan las peculiaridades de los insectos y demás, además de las própias de todos los animales. Aqui es cuando entra en juego la herencia, ya que gracias a ella podemos crear subclases que heredaran las variables y los métodos de su clase “padre”, además de poder añadir nuevos métodos y nuevas variables a la nueva subclase.

En Java especificamos cual es la clase de la que debe heredar variables y métodos mediante inclusión de la palabra reservada extends seguida del nombre de la clase padre, justo después de el nombre de la subclase.

class nombreSubclase extends clasePadre {
/*Variables y métodos própias de la subclase*/
}

En este caso la clase nombreSubclase heredaría las variables y los métodos de la clase clasePadre.

Un pequeño ejemplo de codigo que ejemplifica el uso de la herencia de manera muy básica. Ya sabes que para compilar el código le debes dar el nombre de la clase en la que este el método main seguido de la extensión .java (en este caso seria Herencia.java).

class Animal {   //La clase padre
String nombre;
byte numeroPatas;
}

class Mamifero extends Animal {    /*Toma Animal como clase padre*/
byte mesesGestacion;
void nombreAnimal() {
System.out.println(nombre);
}
}

class Herencia {
public static void main(String[] args) {
Mamifero humano = new Mamifero();    //Creamos el objeto humano
humano.nombre = "Homo Sapiens";
humano.numeroPatas = 2;
humano.mesesGestacion = 9;
humano.nombreAnimal();
}
}

Fuente: http://aprendiendojava.blogspot.com/2005/05/qu-es-esto-de-la-herencia.html

Processing your request, Please wait....

Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)