POO Básica: ¿Por dónde empiezo un proyecto?
- Duración: 4 tardes (16 horas lectivas).
- Modalidad: Online en directo / Presencial.
- Público objetivo: Estudiantes de informática, FP o autodidactas que conocen la sintaxis básica pero se bloquean al iniciar un proyecto desde cero y no saben cómo estructurar su código.
El Problema
En la universidad o en los cursos iniciales enseñan qué es una clase o un bucle, pero cuando te piden "haz una aplicación de gestión", te encuentras con la pantalla en blanco:
- ¿Qué clases creo primero?
- ¿Dónde pongo la lógica y dónde los datos?
- ¿Cómo organizo las carpetas/paquetes del proyecto?
- ¿Por qué mi código acaba siendo un único archivo gigante incalificable?
Esta píldora resuelve ese bloqueo inicial enseñándote a descomponer problemas reales en objetos bien diseñados.
Temario Detallado (Tarde por Tarde)
Lunes: Del Problema al Modelo (Pensar en Objetos)
- El bloqueo de la página en blanco: Cómo analizar un enunciado o requisito sin empezar a picar código a lo loco.
- Identificación de entidades: Sustantivos (clases) vs. Verbos (métodos).
- Atributos y Estado: Qué debe recordar un objeto y qué debe ser transitorio.
- Ejercicio práctico: Diseñar en papel y código el modelo de un sistema sencillo (ej. gestión de una biblioteca o tienda).
Martes: Encapsulamiento y Responsabilidad Única
- Principios de visibilidad:
public,private,protectedy por qué los atributos públicos son un peligro. - Constructores y getters/setters con sentido: Evitar la creación de objetos inconsistentes o "a medias".
- El principio de responsabilidad única (Single Responsibility): Una clase debe hacer una sola cosa y hacerla bien.
- Ejercicio práctico: Refactorizar un código espagueti monolítico dividiéndolo en clases con responsabilidades claras.
Miércoles: Relaciones entre Objetos y Estructura de Proyecto
- Asociación, Composición y Agregación: Cómo se relacionan y comunican los objetos entre sí.
- Estructura de paquetes/carpetas estándar: Separación por capas básica (Modelo, Servicio, Interfaz/CLI).
- Colecciones en la práctica: Uso de Listas y Mapas para gestionar conjuntos de objetos sin complicarse.
- Ejercicio práctico: Conectar varias entidades creadas los días anteriores para que interactúen entre sí.
Jueves: Herencia e Interfases sin Líos
- Cuándo usar Herencia (y cuándo NO usarla): Evitar jerarquías absurdas y profundas.
- El poder de las Interfaces: Diseñar contratos. Por qué programar contra una interfaz facilita la vida.
- Polimorfismo práctico: Tratar objetos distintos de forma uniforme sin usar un bloque de 20
if/else. - Ejercicio práctico: Implementar un sistema de notificaciones (Email, SMS, Push) utilizando una interfaz común.
Viernes: Proyecto Completo de Integración
- El Reto: Construir desde cero una pequeña aplicación funcional aplicando todo lo aprendido durante la semana.
- Flujo de trabajo: Creación de la estructura, diseño de clases, cableado de servicios y prueba de ejecución.
- Code Review: Revisión de código en grupo para detectar errores típicos, mejorar nombres de variables y pulir la arquitectura.
Lo que te llevas
- Un método claro para afrontar cualquier enunciado o proyecto personal sin dudar por dónde empezar.
- Un proyecto funcional en tu GitHub con una estructura de código limpia que podrás mostrar en entrevistas.
- Las bases sólidas para dar el salto a frameworks como Spring Boot sin arrastrar vicios.