Interfaces implícitas e implements
Trate qualquer classe como uma interface.
Interfaces implícitas e implements é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 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.
Toda classe é uma interface
Em Dart, cada classe define discretamente uma interface implícita: o conjunto completo de seus métodos e getters públicos que outros podem se comprometer a fornecer.
implements versus extends
Com extends, você herda código. Com implements, você adota apenas a estrutura e precisa reescrever cada membro por conta própria.
class Robot implements Greeter {}Uma fonte simples de interface
Qualquer classe comum pode atuar como uma interface. Aqui, Greeter define um método que outros podem implementar.
class Greeter {
String greet() => 'Hi';
}Implementando a interface
Quando você implementa uma classe, nenhum código dela é herdado. Você fornece um novo corpo para cada membro que ela declarou.
class Robot implements Greeter {
String greet() => 'Beep';
}Você deve fornecer tudo
Ignorar até mesmo um membro causa um erro de compilação. implements exige a interface completa, sem atalhos baseados em herança.
class Robot implements Greeter {} // error: greet missingImplementando várias interfaces
Uma classe pode implementar várias interfaces de uma só vez, listando-as com vírgulas e adquirindo todas as suas estruturas.
class Robot implements Greeter, Logger {}Classes abstratas como interfaces
Classes puramente abstratas são ótimas interfaces. Elas declaram apenas assinaturas, portanto os implementadores não recebem nenhum código herdado.
abstract class Greeter {
String greet();
}Interface mais herança
Você pode combinar os dois: usar extends para herdar o código de uma classe e implements para adotar a estrutura de outras na mesma declaração.
class Robot extends Machine implements Greeter {}Programando contra a interface
Depois que uma classe implementa Greeter, você pode armazená-la em uma variável Greeter e chamar greet sem conhecer o tipo concreto.
Greeter g = Robot();
print(g.greet());Interfaces permanecem desacopladas
Como implements não copia nenhum comportamento, sua classe permanece independente da original. Você pode alterar a fonte livremente sem herdar seus erros.
Campos tornam-se getters
Um campo em uma interface aparece como um requisito de getter. Você pode atendê-lo com um campo real ou com um getter calculado.
class Robot implements Named {
final String name = 'R2';
}Verificação rápida
Uma pergunta rápida sobre a implementação de interfaces.
Recapitulação
Toda classe expõe uma interface implícita. Use implements para adotar sua estrutura, reimplementando cada membro, e até combinar várias interfaces de uma só vez. 🔌
Perguntas Frequentes
A aula “Interfaces implícitas e implements” é grátis?
Sim — o texto completo de “Interfaces implícitas e implements” é 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 “Interfaces implícitas e implements”?
Trate qualquer classe como uma interface. 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 2 de 4.
Quanto tempo leva a aula “Interfaces implícitas e implements”?
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
- Classes e métodos abstratos
- Interfaces implícitas e implements
- Polimorfismo por meio de tipos compartilhados
- Composição em vez de herança