Pular para o conteúdo principal

inconsistent_inheritance

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

Superinterfaces don't have a valid override for '{0}': {1}.

Descrição

#

O analisador produz este diagnóstico quando uma classe herda duas ou mais assinaturas conflitantes para um membro e não fornece uma implementação que satisfaça todas as assinaturas herdadas.

Exemplo

#

O código a seguir produz este diagnóstico porque C herda a declaração de m de A, e essa implementação não é consistente com a assinatura de m herdada de B:

dart
class A {
  void m({int? a}) {}
}
​
class B {
  void m({int? b}) {}
}
​
class C extends A implements B {}

Correções comuns

#

Adicione uma implementação do método que satisfaça todas as assinaturas herdadas:

dart
class A {
  void m({int? a}) {}
}
​
class B {
  void m({int? b}) {}
}
​
class C extends A implements B {
  void m({int? a, int? b}) {}
}

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