No Uses Getters/Setters/Properties
Di, no preguntes — en lugar de obtener datos para tomar decisiones fuera del objeto, dile al objeto qué hacer y déjalo usar sus propios datos.
Por qué importa
Los getters y setters son campos públicos con disfraz. Cuando el llamante lee el saldo, lo suma y lo escribe de vuelta, la regla de negocio (el monto del depósito debe ser positivo, el saldo nunca debe ir negativo) está dispersa en cada sitio de llamada. Cuando el objeto posee esa regla por completo — a través de un método deposit() — nunca puedes romperla desde afuera. Este es el núcleo del principio "Tell, Don't Ask".
Desafío de Código
Estudia el código desordenado, intenta refactorizarlo y luego revela la versión limpia.
💡Conclusión clave
Reemplaza getters y setters con métodos que describan intención — deposit(), withdraw(), promote(). Las reglas de negocio viven dentro del objeto y nunca pueden eludirse desde afuera.
🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.
Pista: Cada getter que alimenta un if es un comportamiento que pertenece dentro del objeto que está siendo interrogado.
✗ Tu versión