¿Qué es la herencia? – Blog de Whizlabs

En nuestra vida cotidiana, utilizamos la palabra heredar que simplemente significa “recibir de un antepasado por sucesión legal o testamento”. Usamos este término generalmente en el caso de que un niño herede las propiedades de sus padres o cuando exista una relación entre padres e hijos. Este proceso de heredar las propiedades se conoce como herencia. De manera similar, en Java, el término herencia también se usa cuando existe una relación padre-hijo, pero en lugar de seres humanos, aquí tanto padre como hijo son una clase.

La herencia es un concepto mediante el cual una clase puede heredar las propiedades de otra clase. La herencia permite la creación de clasificaciones jerárquicas y por tanto se considera una de las piedras angulares de la programación orientada a objetos. Básicamente, utilizamos la herencia para lograr el enlace dinámico (que se analiza más adelante) y la reutilización del código. Reutilización de código significa que una vez que hemos creado una clase general que define rasgos comunes a un conjunto de elementos relacionados, esta clase puede ser heredada por otras clases, cada una agregando aquellas cosas que son únicas para ella. Reutilizar el código existente ahorra tiempo, dinero y esfuerzos y aumenta la confiabilidad de un programa.

En la terminología de Java, la clase que se hereda se conoce como clase base, superclase o clase principal; por otro lado, la clase que se hereda se conoce como clase secundaria o subclase. La clase secundaria hereda las propiedades adecuadas de la clase principal mediante el uso de la palabra clave extends.

Diferentes tipos de herencias en Java:

1) Herencia única: – Cuando una subclase hereda solo una superclase, se conoce como herencia única. Por ejemplo;
base de clase
{
espectáculo vacío()
{
System.out.println(“Clase base”);
}
}
clase Niño extiende Base
{
visualización vacía()
{
System.out.prinln(“Clase secundaria”);
}
principal vacío estático público (cadena a ())
{
Niño c=nuevo Niño();
c.display();
}
}

2) Herencia multinivel: – Una herencia multinivel se logra cuando una superclase es heredada por una subclase y nuevamente esta subclase es heredada por otra subclase y así sucesivamente. Por ejemplo;
base de clase
{
espectáculo vacío()
{
System.out.println(“Base”);
}
}
clase Child1 extiende Base
{
espectáculo vacío1()
{
System.out.println(“Niño1”);
}
}
clase Niño2 extiende Niño1
{
visualización vacía()
{
System.out.println(“Niño2”);
}
principal vacío estático público (cadena a ())
{
Niño c2=nuevo Niño();
c2.display();
Base b=nueva Base();
b.mostrar();
}
}

3) Herencia jerárquica: – En la herencia jerárquica, tenemos solo una superclase que es heredada por más de una subclase.
base de clase
{
espectáculo vacío()
{
System.out.println(“Base”);
}
}
clase Child1 extiende Base
{
espectáculo vacío1()
{
System.out.println(“Niño1”);
}
}
clase Child2 extiende Base
{
espectáculo vacío2()
{
System.out.println(“Niño2”);
}
principal vacío estático público (cadena a ())
{
Niño2 c2=nuevo Niño2();
c2.mostrar1();
Base b=nueva Base();
b.mostrar();
}
}

NOTA: – Todos los miembros de datos y funciones de miembros de la clase principal están disponibles para la clase secundaria, a menos que se declaren privados dentro de la clase principal.

Si un miembro de datos se declara en una clase principal así como en la clase secundaria, ambas tienen el mismo nombre y si simplemente lo usamos más en nuestro programa, entonces, de forma predeterminada, se usa el valor del miembro de datos de la clase secundaria y decimos esa clase secundaria oculta datos de la clase principal.

Por ejemplo;
base de clase
{
intx=10;
}
clase Niño extiende Base
{
intx=20;
espectáculo vacío()
{
System.out.println(“x”);
}
principal vacío estático público (cadena a ())
{
Niño c=nuevo niño();
c1.mostrar();
}
}
Salida- 20

Para superar este problema, utilizamos la palabra clave “super”. Al usar super, nos referimos al miembro de datos de la clase principal.
Escribimos (super.x) en la línea número 10 en lugar de x para obtener el resultado 10, es decir, el valor de x en la clase principal.

Comprenda más sobre Herencia en el curso de capacitación Whizlabs OCPJP 6.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *