Getters e setters
Exponha propriedades calculadas e protegidas.
Getters e setters é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
Além dos campos simples
Às vezes, você quer uma propriedade calculada ou protegida. O Dart oferece acessores e definidores para controlar como um valor é lido e escrito.
O que é um acessor
Um acessor parece um campo externamente, mas executa código para produzir seu valor. Use a palavra-chave de obtenção para defini-lo.
int get area => width * height;Acessores calculam valores
Um acessor é perfeito para valores derivados de outros campos. Leia-o com a notação de ponto simples, sem precisar de parênteses.
class Box {
int w = 2, h = 3;
int get area => w * h;
}Chamando um acessor
Acesse um acessor exatamente como acessaria um campo. O código interno é executado todas as vezes, portanto ele sempre reflete os dados mais recentes.
var b = Box();
print(b.area); // 6O que é um definidor
Um definidor executa código quando você atribui um valor. Defina-o com a palavra-chave de definição e um único parâmetro para receber a entrada.
set width(int value) {
_w = value;
}Definidores protegem as entradas
Um definidor pode validar os dados antes de armazená-los. Rejeite dados inválidos, limite intervalos ou registre alterações diretamente na atribuição.
set age(int v) {
if (v >= 0) _age = v;
}Campos privados de suporte
Nomes que começam com sublinhado são privados na biblioteca. Um definidor geralmente protege um campo privado de suporte, como _age.
int _age = 0;
int get age => _age;Chamando um definidor
Atribua a um definidor como faria com um campo, usando o sinal de igual. O Dart encaminha essa atribuição para seu código de proteção.
var p = Person();
p.age = 25;Acessor sem definidor
Defina apenas um acessor para criar uma propriedade somente leitura. O código externo pode lê-la, mas nunca pode atribuir um valor a ela.
String get fullName => "$first $last";Por que usar acessores e definidores
Eles permitem alterar o armazenamento interno mais tarde sem quebrar quem chama o código. A propriedade pública permanece igual, enquanto a lógica fica oculta por trás dela. 🔐
Exemplo de propriedade calculada
Um acessor é excelente para formatação. Combine campos em uma string amigável que os chamadores leem como qualquer propriedade comum.
String get label => "$name: $score pts";Verificação rápida
Você quer uma propriedade que outras pessoas possam ler, mas nunca atribuir. O que você define?
Recapitulação: acessores e modificadores
Você aprendeu que os acessores calculam e expõem valores, os modificadores protegem as atribuições e, juntos, ocultam os detalhes internos de forma organizada. 🎉
Perguntas Frequentes
A aula “Getters e setters” é grátis?
Sim — o texto completo de “Getters e setters” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Getters e setters”?
Exponha propriedades calculadas e protegidas. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Getters e setters”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Definir uma classe com campos
- Métodos de instância e this
- Getters e setters
- Membros estáticos e constantes de classe