Mixins com a palavra-chave with
Adicione capacidades sem herança única.
Mixins com a palavra-chave with é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
Além dos pais únicos
Uma classe Dart pode estender apenas um pai, mas muitas vezes você quer obter capacidades de várias fontes. Um mixin permite incorporar comportamentos adicionais de forma organizada. 🧩
Declarando um mixin
Você define um mixin com a palavra-chave mixin. Ele se parece com uma classe, mas foi feito para ser incorporado a outras classes, não para ser instanciado sozinho.
mixin Swimmer {
void swim() => print('Swimming');
}A palavra-chave with
Você aplica um mixin usando with depois da declaração da classe. A classe passa imediatamente a ter todos os métodos definidos pelo mixin.
class Fish with Swimmer {}
// Fish().swim() worksIncorporando vários mixins
Separe vários mixins com vírgulas. Uma classe pode incorporar muitos mixins de uma só vez, cada um adicionando sua própria parte do comportamento.
class Duck with Swimmer, Flyer {}Combinando extends e with
Mixins funcionam em conjunto com a herança. Escreva primeiro extends para o único pai e, depois, with para os mixins que deseja adicionar.
class Duck extends Bird with Swimmer, Flyer {}Mixins também carregam estado
Um mixin também pode conter campos, não apenas métodos. Qualquer classe que o incorpore adquire esse estado como parte de si mesma.
mixin Counter {
int count = 0;
void tick() => count++;
}Não serve para instanciação
Você não pode escrever new em um mixin puro. Ele existe apenas para ser incorporado a classes reais, por isso Dart impede a construção direta.
Reutilização entre árvores
Diferentemente de uma superclasse, o mesmo mixin pode ser adicionado a classes totalmente não relacionadas. É assim que você compartilha código sem forçar uma linhagem comum.
Mixins são tipos
Uma classe que recebeu um mixin também conta como sendo desse tipo. Você pode armazenar um Fish em uma variável Swimmer e chamar seus métodos compartilhados.
Swimmer s = Fish();
s.swim();Composição em vez de herança
Mixins favorecem a montagem de capacidades pequenas e específicas. Você compõe comportamentos a partir de partes reutilizáveis em vez de forçar uma hierarquia profunda.
Mantenha os mixins focados
Um bom mixin realiza bem uma única tarefa, como logging ou serialização. Mixins pequenos e de finalidade única combinam-se sem conflitos inesperados.
Verificação rápida
Lembre-se de como anexar um mixin a uma classe.
Recapitulação
Você declarou um mixin, aplicou-o com a palavra-chave with, combinou vários e compartilhou comportamentos entre classes não relacionadas. 🧩
Perguntas Frequentes
A aula “Mixins com a palavra-chave with” é grátis?
Sim — o texto completo de “Mixins com a palavra-chave with” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Mixins com a palavra-chave with”?
Adicione capacidades sem herança única. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Mixins com a palavra-chave with”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- extends e sobrescrita de métodos
- Chamando super e encadeando construtores
- Mixins com a palavra-chave with
- Restrições on e ordem dos mixins