O que significa a instrução @override em flutter?
No Flutter, que é um framework baseado na linguagem Dart, a instrução @override é uma anotação que indica que a função ou propriedade subsequente está sobrescrevendo uma função ou propriedade de uma superclasse.
Quando você vê @override, isso significa que a classe atual está implementando ou estendendo outra classe e está substituindo um método ou propriedade que foi definido na classe pai ou na interface.
Usar @override não é estritamente necessário para a sobrescrita de um método, mas é uma boa prática de programação. Serve como uma indicação clara de que a intenção é sobrescrever um método existente. Além disso, ajuda as ferramentas de desenvolvimento a identificar erros, como tentar sobrescrever um método que não existe na superclasse.
Veja a seguir um exemplo prático de código em dart, em que faz sentido usar a instrução @overide.
Suponha que estamos desenvolvendo um aplicativo Flutter, e criamos uma classe base chamada Animal com um método falar(). Depois, criamos uma classe filha chamada Cachorro que precisa fazer sua própria versão de falar().
Aqui está o código em Dart:
// Classe base
class Animal {
void falar() {
print('O animal faz um som.');
}
}
// Classe filha
class Cachorro extends Animal {
@override
void falar() {
print('O cachorro late: Au Au!');
}
}
// Função principal
void main() {
Animal meuAnimal = Animal();
meuAnimal.falar(); // Vai imprimir: O animal faz um som.
Cachorro meuCachorro = Cachorro();
meuCachorro.falar(); // Vai imprimir: O cachorro late: Au Au!
}
Explicação detalhada:
1. Classe base Animal:
-
Essa é uma classe comum.
-
Ela define um método
falar()que imprime uma mensagem genérica. -
Todas as classes que herdarem de
Animalvão, por padrão, ter esse comportamento se não sobrescreverem o método.
2. Classe filha Cachorro:
-
Aqui,
Cachorroherda (extends) deAnimal. -
Ao usar
@override, estamos dizendo ao compilador que queremos mudar o comportamento do métodofalar()apenas para cachorros. -
Se você esquecer o
@overridee escrever errado o nome do método (por exemplo, escreverfala()em vez defalar()), o Dart não reclamaria imediatamente — mas o método da classe pai seria usado sem que você percebesse. Com@override, o compilador detecta que não existe o método correto para sobrescrever e aponta erro.
3. Função main():
-
main()é o ponto de entrada do aplicativo. -
Criamos um objeto da classe
Animale chamamosfalar()— ele executa o método da classe base. -
Depois criamos um objeto da classe
Cachorroe chamamosfalar()— mas dessa vez, comoCachorrosobrescreveu o método, a saída é personalizada: "O cachorro late: Au Au!".
Em resumo:
-
@overridegarante que você realmente está substituindo um método da superclasse corretamente. -
Ajuda o compilador e também quem lê seu código a entender suas intenções.
-
Evita erros sutis no programa.
A instrução @override tem essa mesma conotação do Flutter em outras linguagens de programação, ou é diferente?
Entender e utilizar a anotação @override corretamente no Flutter (e no Dart) é um passo essencial para escrever códigos mais limpos, organizados e seguros. Ela não apenas ajuda a evitar erros difíceis de detectar, como também deixa explícita a intenção de sobrescrever comportamentos herdados de uma superclasse, melhorando a legibilidade e a manutenção do projeto.
Como vimos no exemplo prático, @override faz toda a diferença, principalmente em aplicações Flutter mais complexas, onde widgets personalizados precisam redefinir métodos como build(), initState(), entre outros.
Se você está começando sua jornada no Flutter ou buscando aprimorar suas habilidades, dominar o uso de @override vai elevar a qualidade do seu código a outro nível — e ainda ganhar pontos extras com os revisores de código e futuras manutenções!
Agora que você entende o que é @override e como aplicá-lo na prática, que tal testar em seus próprios projetos? 🚀
Continue explorando, programando e evoluindo — o mundo Flutter te espera!
Gostou deste conteúdo?
Se você aprendeu algo novo sobre o uso do @override em Flutter, deixe um comentário aqui embaixo! 🚀
Compartilhe este artigo com outros desenvolvedores e continue acompanhando nosso blog para mais dicas práticas e exemplos que vão turbinar seus projetos Flutter!

Comentários
Postar um comentário