Métodos de instância e this
Adicione comportamentos que atuem sobre os dados da instância.
Métodos de instância e this é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 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.
Adicionando comportamento
Os campos armazenam dados, mas uma classe também pode realizar ações. Uma função definida dentro de uma classe é chamada de método de instância.
Seu primeiro método
Escreva um método como escreveria uma função, mas dentro do corpo da classe. Ele pode ler e usar diretamente os campos do próprio objeto.
class Dog {
String name = "Rex";
void bark() {
print("Woof!");
}
}Chamando um método
Use a notação de ponto em uma instância para executar seu método. O ponto informa ao Dart qual objeto deve realizar o trabalho.
var d = Dog();
d.bark();Métodos veem os campos
Dentro de um método, você pode usar um campo pelo nome. O método atua automaticamente sobre a instância na qual foi chamado.
void greet() {
print("Hi, I am $name");
}Conheça this
A palavra-chave this faz referência à instância atual, o próprio objeto no qual o método está sendo executado.
void greet() {
print(this.name);
}Quando this é opcional
Frequentemente, this fica implícito, então você pode omiti-lo. Escrever name e this.name significa a mesma coisa quando não há conflito.
void greet() {
print(name); // same as this.name
}Quando this é obrigatório
Você precisa de this quando um parâmetro oculta um campo com o mesmo nome. Ele informa ao Dart que você quer dizer o campo, não o parâmetro.
void rename(String name) {
this.name = name;
}Métodos aceitam parâmetros
Um método pode aceitar entradas, assim como qualquer função. Combine essas entradas com os campos para produzir resultados úteis.
void addAge(int years) {
age = age + years;
}Métodos podem retornar valores
Defina um tipo de retorno para um método e retorne um resultado. Assim, um objeto pode realizar um cálculo e devolver um valor ao seu código.
String label() {
return "$name ($age)";
}Métodos chamando métodos
Um método pode chamar outro no mesmo objeto. Basta usar o nome diretamente; o uso de this fica implícito.
void play() {
bark();
print("$name is playing");
}Por que os métodos são importantes
Os métodos mantêm o comportamento próximo dos dados que usam. Seus objetos se tornam inteligentes, autocontidos e muito mais fáceis de compreender. 🐕
Verificação rápida
Um método tem um parâmetro com o mesmo nome de um campo. Como você define o campo?
Recapitulação: métodos e this
Você aprendeu que os métodos adicionam comportamento, usam campos diretamente e que this aponta para a instância atual quando há conflito entre nomes. 🎉
Perguntas Frequentes
A aula “Métodos de instância e this” é grátis?
Sim — o texto completo de “Métodos de instância e this” é 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 “Métodos de instância e this”?
Adicione comportamentos que atuem sobre os dados da instância. 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 2 de 4.
Quanto tempo leva a aula “Métodos de instância e this”?
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