📚

Conceptos Clave sobre Herencia en Java

Mar 10, 2025

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

  1. 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 (-).
  2. 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.