unnecessary_ overrides
Saiba mais sobre a regra de lint unnecessary_overrides.
Não sobrescreva um método apenas para chamar o método da superclasse com os mesmos parâmetros.
Detalhes
#
NÃO sobrescreva um método apenas para fazer uma invocação de super com os mesmos parâmetros.
RUIM:
class A extends B {
@override
void foo() {
super.foo();
}
}
BOM:
class A extends B {
@override
void foo() {
doSomethingElse();
}
}
É válido sobrescrever um membro nos seguintes casos:
- se algum tipo (tipo de retorno ou tipo de um parâmetro) não for exatamente igual ao do membro da superclasse,
- se a palavra-chave
covariantfor adicionada a um dos parâmetros, - se comentários de documentação estiverem presentes no membro,
- se o membro tiver anotações diferentes de
@override, - se o membro não estiver anotado com
@protectede o membro da superclasse estiver.
noSuchMethod é um método especial e não é verificado por esta regra.
Ativar
#
Para ativar a regra unnecessary_overrides, adicione unnecessary_overrides em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- unnecessary_overrides
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione unnecessary_overrides: true em linter > rules:
linter:
rules:
unnecessary_overrides: true
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.