Modificadores base, interface y final
Controle cómo se extienden sus clases
Modificadores base, interface y final es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
Modificadores de clase
Dart 3 añadió modifiers que controlan cómo se puede reutilizar una clase. Permiten que el autor de una biblioteca establezca límites claros y obligatorios.
El modificador base
Una clase base se puede extender, pero nunca implementar. Esto garantiza que cada subtipo herede realmente su implementación.
base class Animal {
void breathe() {}
}Por qué usar base
Con base, sabe que todos los subtipos comparten su código concreto, por lo que los miembros privados y las invariantes siguen siendo fiables en toda la jerarquía.
El modificador interface
Una clase interface se puede implementar, pero no extender desde fuera de su biblioteca. Los demás se comprometen con la estructura, no con su código.
interface class Logger {
void log(String m) {}
}Por qué usar interface
El modificador interface es perfecto para definir contratos. Los usuarios implementan sus firmas de métodos mientras usted mantiene privada la implementación.
class FileLogger implements Logger {
void log(String m) {}
}El modificador final
Una clase final no se puede extender ni implementar fuera de su biblioteca. El tipo queda completamente restringido.
final class Money {}Por qué usar final
Marque una clase como final cuando su comportamiento no deba poder cambiarse desde fuera. Así podrá evolucionarla sin romper subclases.
base se propaga hacia abajo
Si extiende una clase base, su subclase también debe ser base, final o sealed. La restricción se propaga por la cadena.
base class Cat extends Animal {}Combinar modificadores
Puede combinar palabras como base mixin o sealed con otros modificadores para ajustar las reglas de reutilización. Cada combinación expresa una intención precisa.
base mixin Swimmer {
void swim() {}
}Libertad dentro de la misma biblioteca
Estos límites solo se aplican outside de la biblioteca que declara el tipo. Dentro de su propio paquete, puede extender e implementar como prefiera.
Elegir el modificador adecuado
Elija interface para contratos, base para compartir código y final para bloquearlo por completo. Escoja la regla menos restrictiva que siga siendo segura. 🧭
Comprobación rápida
Comprobación rápida sobre los modificadores de clase.
Resumen
Ha aprendido que base obliga a heredar, interface obliga a implementar y final bloquea ambas opciones, lo que le permite controlar la reutilización. 🔐
Preguntas frecuentes
¿La lección «Modificadores base, interface y final» es gratis?
Sí — el texto completo de «Modificadores base, interface y final» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Modificadores base, interface y final»?
Controle cómo se extienden sus clases Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Modificadores base, interface y final»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Campos final e inmutabilidad profunda
- Clases sealed y switch exhaustivo
- Modificadores base, interface y final
- copyWith e igualdad por valor