Modificadores base, interface e final
Controle como outras pessoas estendem suas classes.
Modificadores base, interface e final é 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.
Modificadores de classe
O Dart 3 adicionou modificadores que controlam como outras pessoas reutilizam sua classe. Eles permitem que o autor de uma biblioteca defina limites claros e obrigatórios.
O modificador base
Uma classe base pode ser estendida, mas nunca implementada. Isso garante que cada subtipo realmente herde sua implementação.
base class Animal {
void breathe() {}
}Por que usar base
Com base, você sabe que todos os subtipos compartilham seu código concreto, mantendo membros privados e invariantes confiáveis em toda a hierarquia.
O modificador interface
Uma classe de interface pode ser implementada, mas não estendida de fora da biblioteca. As outras pessoas assumem o formato, não o seu código.
interface class Logger {
void log(String m) {}
}Por que usar interface
O modificador interface é perfeito para contratos. Os chamadores implementam as assinaturas dos seus métodos, enquanto você mantém a implementação privada.
class FileLogger implements Logger {
void log(String m) {}
}O modificador final
Uma classe final não pode ser estendida nem implementada fora da biblioteca. O tipo fica completamente restrito.
final class Money {}Por que usar final
Marque uma classe como final quando o comportamento dela nunca puder ser alterado por outras pessoas. Assim, você pode evoluí-la sem quebrar subclasses.
base se propaga
Se você estender uma classe base, sua subclasse também deverá ser base, final ou selada. A restrição se propaga pela cadeia.
base class Cat extends Animal {}Combinando modificadores
Você pode combinar palavras como base mixin ou sealed com outras para ajustar precisamente as regras de reutilização. Cada combinação expressa uma intenção específica.
base mixin Swimmer {
void swim() {}
}Liberdade dentro da mesma biblioteca
Esses limites só se aplicam fora da biblioteca que declara o tipo. Dentro do seu próprio pacote, você pode estender e implementar como quiser.
Escolhendo o modificador certo
Escolha interface para contratos, base para código compartilhado e final para bloquear tudo completamente. Use a regra menos restritiva que ainda ofereça segurança. 🧭
Verificação rápida
Verificação rápida sobre modificadores de classe.
Recapitulação
Você aprendeu que base impõe herança, interface impõe implementação e final bloqueia ambas, dando a você controle sobre a reutilização. 🔐
Perguntas Frequentes
A aula “Modificadores base, interface e final” é grátis?
Sim — o texto completo de “Modificadores base, interface e final” é 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 “Modificadores base, interface e final”?
Controle como outras pessoas estendem suas classes. 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 “Modificadores base, interface e final”?
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
- Campos Finais e Imutabilidade Profunda
- Classes sealed e switch Exaustivo
- Modificadores base, interface e final
- copyWith e Igualdade por Valor