Dart Academy · Lección

Escribir su primera extensión

Añadir nuevos métodos a un tipo integrado.

Lección 1 de 413 pasos

Escribir su primera extensión es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 1 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.

Métodos que no puede añadir

¿Alguna vez ha deseado que int tuviera un método práctico que no tiene? No puede editar la clase integrada, pero Dart le ofrece otra forma de hacerlo.

Conozca las extensiones

Una extensión le permite añadir métodos nuevos a un tipo existente sin crear subclases ni modificar su código fuente. 🎁

extension on String {
  // new methods go here
}

La estructura básica

Escriba extension Name on Type y, después, añada métodos entre las llaves. El nombre lo elige usted; el tipo es el que está extendiendo.

extension NumberParsing on String {
  int doubled() => int.parse(this) * 2;
}

this representa el receptor

Dentro de una extensión, this hace referencia al valor sobre el que se llamó al método, exactamente igual que dentro de un método de clase normal.

extension on int {
  int squared() => this * this;
}

Llámelo como a un método real

Una vez definido, su método se siente completamente nativo. Lo llama con un punto, igual que los métodos incluidos con el tipo.

print(5.squared()); // 25

Añada un getter, no un método

Las extensiones también pueden añadir getters. Quite los paréntesis y obtendrá una lectura limpia, similar a una propiedad, sobre cualquier valor.

extension on int {
  bool get isEven2 => this % 2 == 0;
}
print(4.isEven2);

Las extensiones son estáticas

La resolución ocurre en tiempo de compilación según el tipo estático. La clase original no cambia en absoluto durante la ejecución.

El nombre es opcional

Incluso puede escribir una extensión sin nombre. Seguirá funcionando, pero tener un nombre le permite ocultarla o importarla más adelante cuando sea necesario.

extension on double {
  String money() => "$" + toStringAsFixed(2);
}

Mantenga una idea por extensión

Agrupe los helpers relacionados bajo un nombre específico. Las extensiones pequeñas y bien nombradas se leen mejor que una enorme colección de funciones sin relación.

extension StringCasing on String {
  String shout() => toUpperCase() + "!";
}

No puede añadir campos

Las extensiones añaden métodos y getters, pero no nuevos campos de instancia. El objeto original no tiene dónde almacenarlos.

Por qué es tan útil

Las extensiones le proporcionan helpers legibles y fáciles de descubrir sin necesidad de clases contenedoras. Sus tipos cotidianos adquieren exactamente el vocabulario que necesita su aplicación.

Comprobación rápida

Comprobemos la sintaxis básica de una extensión.

Resumen: su primera extensión

Ha aprendido que una extension on Type añade métodos y getters a tipos existentes, utiliza this para el receptor y se resuelve de forma estática. 🚀

Gratis para empezar

Aprende Dart con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Escribir su primera extensión» es gratis?

Sí — el texto completo de «Escribir su primera extensión» 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 «Escribir su primera extensión»?

Añadir nuevos métodos a un tipo integrado. 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 1 de 4.

¿Cuánto tiempo toma la lección «Escribir su primera extensión»?

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

  1. Escribir su primera extensión
  2. Extensiones sobre genéricos
  3. Miembros de extensión estáticos y conflictos
  4. Tipos de extensión para wrappers sin coste
← Volver a Dart Academy