invalid_ override_ of_ non_ virtual_ member
Detalhes sobre o diagnóstico 'invalid_override_of_non_virtual_member' produzido pelo analisador do Dart.
The member '{0}' is declared non-virtual in '{1}' and can't be overridden in subclasses.
Descrição
#
O analisador produz este diagnóstico quando um membro de uma classe, de um mixin
ou de um enum sobrescreve um membro que tem a anotação @nonVirtual.
Exemplo
#
O código a seguir produz este diagnóstico porque o método m em B sobrescreve
o método m em A, e o método m em A
está anotado com @nonVirtual:
import 'package:meta/meta.dart';
class A {
@nonVirtual
void m() {}
}
class B extends A {
@override
void m() {}
}
Correções comuns
#Se a anotação no método da superclasse estiver correta (o método da superclasse não se destina a ser sobrescrito), então remova ou renomeie o método que o sobrescreve:
import 'package:meta/meta.dart';
class A {
@nonVirtual
void m() {}
}
class B extends A {}
Se o método da superclasse se destinar a ser sobrescrito, então remova a
anotação @nonVirtual:
class A {
void m() {}
}
class B extends A {
@override
void m() {}
}
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ê.