Getters y setters
Exponer propiedades calculadas y protegidas.
Getters y setters es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
Más allá de los campos simples
A veces necesita una propiedad calculada o protegida. Dart ofrece getters y setters para controlar cómo se lee y se escribe un valor.
Qué es un getter
Un getter parece un campo desde fuera, pero ejecuta código para producir su valor. Use la palabra clave get para definirlo.
int get area => width * height;Los getters calculan valores
Un getter es perfecto para valores derivados de otros campos. Léalo con la notación de punto normal, sin necesidad de paréntesis.
class Box {
int w = 2, h = 3;
int get area => w * h;
}Llamar a un getter
Acceda a un getter exactamente igual que a un campo. El código interno se ejecuta cada vez, por lo que siempre refleja los datos más recientes.
var b = Box();
print(b.area); // 6Qué es un setter
Un setter ejecuta código cuando asigna un valor. Defínalo con la palabra clave set y un único parámetro que reciba la entrada.
set width(int value) {
_w = value;
}Los setters validan las entradas
Un setter puede validar los datos antes de almacenarlos. Rechace datos incorrectos, limite rangos o registre cambios directamente en la asignación.
set age(int v) {
if (v >= 0) _age = v;
}Campos privados de respaldo
Los nombres que comienzan con un guion bajo son privados de la biblioteca. Un setter suele proteger un campo privado de respaldo como _age.
int _age = 0;
int get age => _age;Llamar a un setter
Asigne un valor a un setter igual que a un campo, mediante el signo igual. Dart dirige esa asignación a través de su código de protección.
var p = Person();
p.age = 25;Getter sin setter
Defina solo un getter para crear una propiedad de solo lectura. El código externo puede leerla, pero nunca asignarle un valor.
String get fullName => "$first $last";Por qué usar getters y setters
Le permiten cambiar el almacenamiento interno más adelante sin romper el código que los utiliza. La propiedad pública permanece igual mientras la lógica queda oculta tras ella. 🔐
Ejemplo de propiedad calculada
Un getter resulta ideal para dar formato. Combine varios campos en una cadena clara que quienes llaman al código puedan leer como cualquier propiedad normal.
String get label => "$name: $score pts";Comprobación rápida
Quiere una propiedad que otras partes puedan leer, pero nunca asignar. ¿Qué debe definir?
Resumen: getters y setters
Ha aprendido que los getters calculan y exponen valores, los setters controlan las asignaciones y, juntos, ocultan los detalles internos de forma ordenada. 🎉
Preguntas frecuentes
¿La lección «Getters y setters» es gratis?
Sí — el texto completo de «Getters y setters» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Getters y setters»?
Exponer propiedades calculadas y protegidas. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Getters y setters»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Definir una clase con campos
- Métodos de instancia y this
- Getters y setters
- Miembros estáticos y constantes de clase