Curso de Java: Herencia en Programación Orientada a Objetos
Introducción a la Herencia
- Herencia: Forma de reutilización de software.
- Concepto básico: Crear una clase nueva absorbiendo miembros de una clase existente.
- Beneficio: Ahorro de tiempo y reducción de código.
- Requisito: Mínimo dos clases, una clase hereda de otra.
Ejemplo Práctico
- Clase Persona:
- Atributos: Nombre (String), Apellido (String), Edad (int).
- Métodos: Constructor y getters para cada atributo.
- Visibilidad: Métodos son públicos (+), atributos privados (-).
- Clase Estudiante:
- Hereda de Persona: Adquiere nombre, apellido, edad.
- Atributos Extra: Código de estudiante, nota final.
- Métodos Extra: Mostrar datos, constructor especial.
Implementación en Java
- Crear Proyecto: En NetBeans, proyecto "herencia" con clases Persona, Estudiante, Principal.
- Clase Persona:
- Atributos privados: nombre, apellido, edad.
- Constructor inicializando atributos.
- Getters para cada atributo.
- Clase Estudiante:
- Indicar herencia con
extends Persona.
- Constructor especializado para heredar atributos.
- Atributos extra: código de estudiante, nota final.
- Método Mostrar datos para imprimir detalles.
Modificadores de Acceso
- Privado (private): Sólo accesible desde la misma clase.
- Protegido (protected): Accesible desde la misma clase y sus subclases.
- Recomendación: Usar getters para mantener encapsulamiento.
Diagrama UML
- Clase Persona: Clase padre o superclase.
- Clase Estudiante: Clase hija o subclase, hereda de Persona.
Funcionalidad en la Clase Principal
- Crear objeto Estudiante: Inicializar con datos de ejemplo.
- Llamar Método Mostrar datos: Imprimir nombre, apellido, edad, código y nota final.
Conclusión
- Herencia: Permite reutilizar y extender funcionalidades de clases existentes.
- Importancia: Central en programación orientada a objetos.
- Práctica: Fundamental entender modificadores de acceso y estructura de clases.
Nota: La herencia se ilustra a menudo como una generalización en diagramas UML. Recuerda que la programación es posible siempre que puedas imaginarlo.