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.
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í.
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 clasePersonacon 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 (SerieyVideojuego), 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 claseRaices.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 entreCine,Pelicula,EspectadoryAsientos, y manejando la lógica de negocio y las restricciones.
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).
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.
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 deSeriesyVideojuegos, al implementar la interfazEntregable. 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
Aulay elCinefueron 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 unProfesor, susEstudiantesy unAula, o entre unEspectador, unaPeliculay losAsientos, 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.