- Autor

- Nombre
- Nelson Silva
- Social
Introducción
La herencia es uno de los cuatro pilares de la programación orientada a objetos (OOP), junto con la encapsulación, el polimorfismo y la abstracción. A través de la herencia, es posible crear una nueva clase basada en una ya existente, lo que permite la reutilización de código y la construcción de relaciones jerárquicas.
Fundamentos de la Herencia
Beneficios de la Herencia
- Reutilización de Código: No es necesario reescribir el mismo código repetidamente. La subclase hereda todos los miembros de la superclase.
- Extensibilidad: Se puede extender la superclase existente para incorporar nuevos atributos y comportamientos.
- Jerarquía de Clases: Establece una relación jerárquica entre la superclase y la subclase.
Restricciones de la Herencia en Java
En Java, la herencia se implementa utilizando la palabra clave extends. Sin embargo, existen algunas restricciones:
- Herencia Simple: Java no soporta la herencia múltiple a través de clases. Una clase solo puede heredar de una única clase.
- Constructores e Inicializadores Estáticos: Estos no son heredados por las subclases.
- Relación de Asociación: Si una clase hereda de otra, es una relación "es un" (is-a). Por ejemplo, si
Hijoes una extensión dePadre, entoncesHijoes unPadre.
La palabra clave protected
La palabra clave protected en Java permite que un miembro de la clase sea accedido directamente por cualquier clase dentro del mismo paquete o por subclases. Es una forma de proporcionar más acceso que private, pero aún así restringiendo el acceso generalizado como public.
package com.caffeinealgorithm.programaremjava;
public class Herencia {
public void Run() {
var persona = new Hijo();
persona.informacion();
persona.comidaFavorita();
/*
Nombre: Nelson Silva
Edad: 28
Mi comida favorita es el arroz con mariscos.
*/
}
}
class Padre {
protected String apellido = "Silva";
public void comidaFavorita() {
System.out.println("Mi comida favorita es el arroz con mariscos.");
}
}
class Hijo extends Padre {
private String nombre = "Nelson";
private int edad = 28;
public void informacion() {
System.out.printf("Nombre: %s %s\n", nombre, apellido);
System.out.printf("Edad: %d\n", edad);
}
}
Conclusión
La herencia es una herramienta poderosa en Java que permite a los programadores escribir código más modular y reutilizable. Al comprender los fundamentos y las sutilezas de la herencia, estarás mejor preparado para afrontar los desafíos complejos de la programación orientada a objetos en Java.