Icono play
Java
Herencia

Dentro del ámbito del desarrollo de software hay muchos lenguajes disponibles para programar, muchos tienen usos determinados, como por ejemplo Java, que es un lenguaje de programación orientado a objetos.

En los lenguajes para POO, se utilizan conceptos específicos para su objetivo.

Entre ellos se encuentra el concepto de herencia.

¿Qué es y para qué sirve la herencia en Java?

La herencia es uno de los conceptos más importantes de la programación orientada a objetos, y su principal ventaja es la capacidad de utilizar el mismo código que hemos programado en una clase, en otras clases que heredan de ella sus métodos (funciones) y sus atributos (variables).

Cuando una clase hereda de otra, se le llama subclase, clase hija o clase derivada.

Y la clase que es heredada, se llama clase base, padre o superclase.

Las clases hijas reciben las funciones de su clase padre y además implementan sus propias funciones o métodos.Si no fuera así no tendría sentido crear clases hijas.

A su vez la clase hija puede ser heredada por otras clases hijas. 

Con la palabra reservada extends le decimos a la clase hija de qué clase padre hereda sus propiedades.

Tipos de Herencia en Java:

Los tipos de herencia son las relaciones que implementamos entre las clases.

  • Simple/única una clase hereda de otra.
  • Multinivel una clase hereda de una clase padre y otra clase hereda de esta (de la clase hija), hay dos o más niveles.
  • Múltiple consiste en que una clase hija hereda de dos o más clases padre (ejemplo: clase padre Vehículo, y clase padre Motor).
  • Jerárquica es similar a un árbol, de una clase base derivan dos o más clases y de cada una de ellas a su vez derivan otras clases.

Híbrida combina modelos de herencia, por ejemplo herencia simple y herencia múltiple

Cómo utilizar la herencia entre clases:

Las funciones de la clase padre deben estar definidas como public para que puedan ser utilizadas desde cualquier otra clase. Si no están definidas como públicas, solo se podrán usar dentro de la clase que las declara.

Los métodos que pertenezcan a la clase hija o derivada, no podrán ser utilizados por la clase padre o superclase, aunque sí podrán ser usados por las clases derivadas de la clase hija.

Por herencia automáticamente todas las clases hijas pueden utilizar los métodos implementados en la clase padre (también llamada superclase).

La herencia hasta un tercer nivel es manejable, más de eso se vuelve complejo.

Ejemplo:

//clase padre, base o superclase


class Persona {
    
    // atributos de la clase padre
    String nombre;
    int edad;
    int telefono;

}



// clase hija, subclase o clase derivada

class Cliente extends Persona{
    
    //atributo de la clase hija
    int credito;
}


// otra clase hija

class Trabajador extends Persona{

    //atributo propio de la clase hija
    int salario;
}

Donde Cliente y Trabajador son clases derivadas (hijas) de la clase Persona que es la clase padre, de la cual heredan métodos y atributos.

Dentro de las herencias se encuentran las clases abstractas, que heredan a sus clases hijas la indicación de la obligatoriedad de implementar métodos que han sido definidos en la clase padre, pero no han sido implementados, están vacíos.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: