Pular para o conteúdo principal

non_abstract_class_inherits_abstract_member

Detalhes sobre o diagnóstico 'non_abstract_class_inherits_abstract_member' produzido pelo analisador do Dart.

Missing concrete implementation of '{0}'.

Missing concrete implementations of '{0}' and '{1}'.

Missing concrete implementations of '{0}', '{1}', '{2}', '{3}', and {4} more.

Missing concrete implementations of '{0}', '{1}', '{2}', and '{3}'.

Missing concrete implementations of '{0}', '{1}', and '{2}'.

Descrição

#

O analisador emite este diagnóstico quando uma classe concreta herda um ou mais membros abstratos e não fornece nem herda uma implementação para pelo menos um desses membros abstratos.

Exemplo

#

O código a seguir gera este diagnóstico porque a classe B não tem uma implementação concreta de m:

dart
abstract class A {
  void m();
}
​
class B extends A {}

Correções comuns

#

Se a subclasse puder fornecer uma implementação concreta para alguns ou todos os membros abstratos herdados, então adicione as implementações concretas:

dart
abstract class A {
  void m();
}
​
class B extends A {
  @override
  void m() {}
}

Se existir um mixin que forneça uma implementação dos métodos herdados, então aplique o mixin à subclasse:

dart
abstract class A {
  void m();
}
​
class B extends A with M {}
​
mixin M {
  void m() {}
}

Se a subclasse não puder fornecer uma implementação concreta para todos os membros abstratos herdados, então marque a subclasse como abstrata:

dart
abstract class A {
  void m();
}
​
abstract class B extends A {}

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ê.