0Pricing
Dart Academy · Aula

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 missing

Implementando 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

  1. Classes e métodos abstratos
  2. Interfaces implícitas e implements
  3. Polimorfismo por meio de tipos compartilhados
  4. Composição em vez de herança
← Voltar para Dart Academy