Skip to content

MaraMirandav/Aprendiendo-POO-Java

Repository files navigation

Aprendiendo POO en Java

Descripción

Este repositorio recopila los ejercicios de la asignatura "Programación" realizados en el segundo trimestre del Primer curso del Grado Superior en Desarrollo de Aplicaciones Multiplataforma (DAM).

La práctica se centra en los fundamentos de la Programación Orientada a Objetos (POO). El objetivo principal es aplicar los cuatro pilares de la POO (encapsulación, herencia, polimorfismo y abstracción) para modelar y resolver problemas del mundo real. A través de estos ejercicios, se busca transformar entidades y sus interacciones en clases y objetos, creando código más estructurado, reutilizable y fácil de mantener.

Objetivo

El propósito de este conjunto de ejercicios es afianzar los conocimientos teóricos de la Programación Orientada a Objetos (POO), mediante la implementación de soluciones prácticas en Java. Cada ejercicio está diseñado para abordar conceptos específicos, desde la creación de clases simples hasta el diseño de sistemas con múltiples objetos que interactúan entre sí.

Estructura del Repositorio

El repositorio está organizado en carpetas, donde cada una corresponde a un proyecto de Eclipse independiente que resuelve un problema específico:

  • Ejercicio1_Persona: Introduce el concepto de clase y objeto a través de la creación de una clase Persona con sus atributos (nombre, edad, etc.) y métodos (cálculo de IMC, verificar mayoría de edad).
  • Ejercicio2_Series: Explora el uso de interfaces (Entregable) para definir un comportamiento común entre clases diferentes (Serie y Videojuego), aplicando polimorfismo.
  • Ejercicio3_Raices: Se enfoca en la encapsulación de la lógica para resolver un problema matemático (ecuación de segundo grado) dentro de una clase Raices.
  • Ejercicio4_Aula: Modela un sistema más complejo con interacción entre varias clases (Aula, Profesor, Estudiante) para simular la gestión de una clase escolar.
  • Ejercicio5_Cine: Representa un sistema de venta de entradas de cine, gestionando la interacción entre Cine, Pelicula, Espectador y Asientos, y manejando la lógica de negocio y las restricciones.

Requisitos

Para compilar y ejecutar estos proyectos, necesitarás:

  • IDE: Eclipse IDE for Enterprise Java and Web Developers.
  • Lenguaje: Java (se recomienda JDK 17 o superior).

Nota

La estructura de los ejercicios ha sido establecida por el profesor de la asignatura. Este repositorio tiene fines educativos y refleja el progreso en el aprendizaje de Java durante el primer curso de DAM.

Reflexión sobre el Aprendizaje Adquirido

A lo largo de la realización de estos ejercicios, he podido materializar los conceptos teóricos de la Programación Orientada a Objetos que, al principio, parecían abstractos:

  • Comencé con la idea básica de una "clase" en el ejercicio de Persona, donde aprendí a encapsular datos y comportamientos en una única entidad. El verdadero "clic" llegó con el ejercicio de Series y Videojuegos, al implementar la interfaz Entregable. Ahí comprendí el poder de la abstracción y el polimorfismo: cómo objetos de tipos diferentes podían responder al mismo "contrato", haciendo el código mucho más flexible.
  • Los proyectos del Aula y el Cine fueron un desafío mayor, ya que me obligaron a pensar no solo en objetos individuales, sino en cómo estos interactúan para formar un sistema coherente. Gestionar las relaciones entre un Profesor, sus Estudiantes y un Aula, o entre un Espectador, una Pelicula y los Asientos, me enseñó la importancia de un buen diseño de clases para que el código sea lógico y fácil de seguir.
  • En definitiva, esta práctica me ha enseñado a "pensar en objetos": a ver el mundo no como una serie de instrucciones secuenciales, sino como un ecosistema de entidades que colaboran entre sí. Siento que he construido una base sólida que me servirá para enfrentar problemas de desarrollo mucho más complejos en el futuro.

About

Proyecto desarrollado en el primer año de DAM, realizado en el módulo de Programación. Incluye ejercicios de Programación Orientada a Objetos aplicados a situaciones cotidianas

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages