
Subscribe to Frexus
<100 subscribers
Arweave TX

Objetivo: Que el estudiante pueda identificar objetos reales, extraer sus atributos y comportamientos, organizar esas ideas en clases y relaciones (UML) y llevarlas a una implementación básica en POO (ej. Java).
Papel y lápiz (o pizarra/whiteboard) para bocetos.
Editor de código (VS Code, IntelliJ, NetBeans) o un IDE online.
JDK instalado si van a ejecutar Java (opcional si solo se diseña).
Plantilla de diagrama de clases (puede ser dibujada a mano).
Elige un contexto sencillo y familiar. Ejemplos: bicicleta, biblioteca escolar, cuenta bancaria, café (pedidos y mesas).Objetivo: limitar el alcance para que la abstracción sea manejable.
Tarea: Escribe en una línea el dominio elegido (p. ej. “Bicicleta urbana para préstamos”).
Anota todo lo que consideres relevante en ese dominio: personas, cosas, eventos. No pienses en código, piensa en objetos reales.
Ejemplo (Bicicleta): Bicicleta, Rueda, Freno, Usuario, Casco, Candado.
Para cada objeto escogido, define:
Atributos (estado): datos que lo describen (ej. color, número de velocidades).
Métodos / comportamientos: acciones que realiza (ej. pedalear(), frenar()).
Ejemplo (Bicicleta):
Atributos: color:String, modelo:String, gearCount:int, velocidadActual:double.
Métodos: pedalear(int fuerza), frenar(), cambiarVelocidad(int nuevaVelocidad).
Tarea: Completa una tabla breve (Objeto | Atributos | Métodos).
Decide cuáles objetos serán clases y cuáles serán parte (composición/atributos) de otras clases.
Relaciones comunes:
Asociación (usa a): A ↔ B.
Composición (parte/enteramente dependiente): Bicicleta — contiene → Rueda.
Herencia (es-un): BicicletaDeMontaña extiende Bicicleta.
Tarea: Dibuja flechas y etiquetas entre tus objetos (p. ej. Bicicleta compuesta de Rueda).
Decide qué atributos deben ser private, qué métodos public, qué datos suponen static, y qué tipos de datos utilizar.
Buenas prácticas:
Atributos: private + getters/setters.
Comportamientos públicos para la API de la clase.
Evita exponer estado interno directamente.
Dibuja las clases con tres secciones: nombre / atributos / métodos. Añade relaciones (líneas) y multiplicidad si aplica.
Ejemplo simplificado (texto):
+------------------+
| Bicicleta |
+------------------+
| - color: String |
| - gearCount:int |
| - ruedas: Rueda[]|
+------------------+
| + pedalear() |
| + frenar() |
+------------------+
+------------------+
| Rueda |
+------------------+
| - diametro:int |
| - tipo:String |
+------------------+
| + inflar() |
+------------------+
Frexus
No comments yet