Conviene haber comprendido Decisiones, bucles y estados.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Encapsulación con Polimorfismo y abstracción y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
Instala Unity Hub, una versión LTS compatible y un IDE con integración para C#. Conserva un proyecto de laboratorio separado.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Encapsulación y Polimorfismo y abstracción? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Modelarás estado y comportamiento protegiendo invariantes, y decidirás cuándo usar herencia, contratos o composición.
- Encapsular significa impedir objetos inválidos
- Polimorfismo sirve cuando los subtipos cumplen el mismo contrato
- La composición permite cambiar piezas sin multiplicar subclases
Encapsular significa impedir objetos inválidos
Campos privados, propiedades de solo lectura y métodos significativos controlan cómo cambia un objeto. La meta no es esconder todo, sino mantener reglas como vida entre cero y máximo.
El constructor valida clases C# comunes.
Los métodos expresan acciones del dominio.
Los eventos comunican cambios después de actualizar el estado.
¿Por qué un setter público para Vida debilita el modelo?
Mostrar respuesta +
Porque permite saltarse límites, eventos y reglas. El objeto deja de ser responsable de conservar su propio estado válido.
Polimorfismo sirve cuando los subtipos cumplen el mismo contrato
Una clase base puede compartir estado y declarar métodos virtuales o abstractos. Una referencia base ejecuta la implementación concreta. La relación debe ser realmente es-un y cada subtipo debe respetar las expectativas del consumidor.
abstract obliga a completar una operación.
override hace visible el punto de variación.
Una subclase no debe desactivar operaciones normales del contrato.
¿Qué señal indica que una jerarquía de herencia está mal elegida?
Mostrar respuesta +
Que un subtipo debe lanzar excepciones, ignorar métodos o cambiar las precondiciones del contrato para poder encajar.
La composición permite cambiar piezas sin multiplicar subclases
Un GameObject ya es una composición de componentes. Separar movimiento, salud, ataque y presentación crea capacidades combinables. Las interfaces permiten que colaboren sin conocer detalles concretos.
Prefiere tiene-un para capacidades intercambiables.
Entrega dependencias explícitas y valida su presencia.
Evita que un componente central se convierta en objeto dios.
¿Por qué la composición suele adaptarse bien a Unity?
Mostrar respuesta +
Porque el modelo de GameObject permite agregar y reemplazar componentes, y muchas capacidades cambian de forma independiente durante el diseño.
Tu recorrido en tres ideas
- Encapsular significa impedir objetos inválidos
- Polimorfismo sirve cuando los subtipos cumplen el mismo contrato
- La composición permite cambiar piezas sin multiplicar subclases
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Usar herencia solo para reutilizar código aunque la relación no sea es-un.
Exponer setters que permiten saltarse límites, eventos y reglas.
Ahora hazlo sin guía
Refactoriza un personaje monolítico en salud, movimiento, ataque y presentación; permite intercambiar dos armas.
Mostrar pauta de corrección +
- Cada componente conserva una responsabilidad y estado válido.
- Las colaboraciones son explícitas y no dependen de tipos concretos innecesarios.
- El cambio de arma no exige nuevas subclases de personaje.
