mixin_ class_ declaration_ extends_ not_ object
Detalhes sobre o diagnóstico 'mixin_class_declaration_extends_not_object' produzido pelo analisador do Dart.
The class '{0}' can't be declared a mixin because it extends a class other than 'Object'.
Descrição
#
O analisador emite este diagnóstico quando uma classe marcada com o modificador
mixin estende uma classe diferente de Object. Uma classe mixin não pode ter
uma superclasse diferente de Object.
Exemplo
#
O código a seguir gera este diagnóstico porque a classe B, que tem o
modificador mixin, estende A:
class A {}
mixin class B extends A {}
Correções comuns
#
Se você quer que a classe seja usada como mixin, então altere a superclasse
para Object, explicitamente ou removendo a cláusula extends:
class A {}
mixin class B {}
Se a classe precisar ter uma superclasse diferente de Object, então remova o
modificador mixin:
class A {}
class B extends A {}
Se você precisar tanto de um mixin quanto de uma subclasse de uma classe
diferente de Object, então mova os membros da subclasse para um novo mixin,
remova o modificador mixin da subclasse e aplique o novo mixin à subclasse:
class A {}
class B extends A with M {}
mixin M {}
Dependendo dos membros da subclasse, isso pode exigir adicionar uma cláusula
on ao mixin.
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ê.