Librerías e importaciones
Parte de la sección Programación Orientada a Objetos del Journey de Dart de Coddy — lección 2 de 110.
Dart viene con un conjunto rico de bibliotecas integradas que puedes importar utilizando la sintaxis import 'dart:libraryname';.
Algunas bibliotecas integradas de uso común:
dart:math— funciones y constantes matemáticas
dart:io— soporte para archivos, sockets y E/S estándar
dart:core— importado automáticamente, proporciona tipos básicos
Importa la biblioteca dart:math para usar funciones matemáticas
import 'dart:math';Usa funciones y constantes de la biblioteca
void main() {
print(sqrt(25)); // 5.0
print(pi.toStringAsFixed(5)); // 3.14159
print(pow(2, 10)); // 1024
}Salida:
5.0
3.14159
1024También puedes importar un archivo propio junto con una biblioteca integrada. Ambos tipos de importaciones funcionan de la misma manera; la diferencia es si la ruta comienza con dart: (integrada) o una cadena de nombre de archivo (archivo local).
import 'dart:math'; // biblioteca integrada
import 'my_helpers.dart'; // tu propio archivoDesafío
IntermedioSe te proporciona math_tools.dart, que ya utiliza dart:math internamente. ¡Añade la sentencia import correcta en driver.dart para importar math_tools.dart y así poder llamar a sus funciones!
math_tools.dart: Contiene las funcionesgetSquareRoot(n)ygetPI()(bloqueado)driver.dart: Añade el import y el resto funcionará
Hoja de referencia
Importa bibliotecas integradas utilizando la sintaxis import 'dart:libraryname';:
import 'dart:math';Bibliotecas integradas de uso común:
dart:math— funciones matemáticas y constantesdart:io— soporte para archivos, sockets y E/S estándardart:core— importada automáticamente, proporciona tipos básicos
Ejemplo usando dart:math:
import 'dart:math';
void main() {
print(sqrt(25)); // 5.0
print(pi.toStringAsFixed(5)); // 3.14159
print(pow(2, 10)); // 1024
}Importa tus propios archivos utilizando una cadena con el nombre del archivo:
import 'dart:math'; // built-in library
import 'my_helpers.dart'; // your own filePruébalo tú mismo
// TODO: Importar math_tools.dart para usar getSquareRoot y getPI
import 'dart:io';
void main() {
String testCase = stdin.readLineSync()!;
if (testCase == 'sqrt_test') {
print(getSquareRoot(25).toInt());
} else if (testCase == 'pi_test') {
print(getPI().toStringAsFixed(5));
}
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Fundamentos de POO
Archivos externosLibrerías e importacionesIntroducción a la POOClases vs. ObjetosLa palabra clave thisMétodosVariables de instanciaConceptos básicos de constructoresResumen - Calculadora sencilla4Seguridad de nulos
Introducción a la seguridad de nulosNulables vs No nulablesLos operadores ? y !Palabra clave Late y Null SafetyOperadores Null-awareNull Safety en clasesResumen - Sistema de perfil de usuario7Clases abstractas e interfaces
Clases abstractasMétodos abstractosInterfaces en DartInterfaces implícitasImplementar vs. ExtenderInterfaces múltiplesRepaso - Calculadora de figuras10Colecciones y Genéricos
Visión general de List, Set y MapColecciones con seguridad de tiposClases genéricasMétodos genéricosRestricciones genéricasIterable e IteratorResumen - Almacenamiento genérico2Constructores en Dart
Constructor por defectoConstructores nombradosListas de inicializaciónConstructores constantesConstructores de fábricaConstructores de redireccionamientoResumen - Constructor de formas5Encapsulamiento
Miembros públicos vs. privadosLa convención del prefijo _Privacidad a nivel de libreríaProfundidad en Getters y SettersOcultamiento de informaciónResumen - Registros de estudiantes8Mixins
Introducción a los MixinsCreación de MixinsUso de múltiples MixinsPalabra clave on en MixinsMixin vs HerenciaMixin vs InterfazResumen - Sistema Animal11Métodos especiales
Sobrescritura de toString()Sobrescritura de hashCode y ==Interfaz ComparableMétodo call()Sobrescritura de noSuchMethodResumen - Colección personalizada14Patrones de diseño Parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón Strategy3Propiedades de clase
Miembros de instancia vs. estáticosCampos Final y ConstVariables LateMétodos y campos estáticosGetters y SettersResumen - Gestor de cuentas bancarias6Herencia
Herencia básicaLa palabra clave superSobrescritura de métodosLa anotación @overrideLa palabra clave final en clasesConstructores y herenciaResumen - Jerarquía de empleados9Polimorfismo
Fundamentos del polimorfismoPolimorfismo mediante interfacesComprobación de tipos en tiempo de ejecuciónLos operadores is y asPalabra clave covariantResumen - Procesador de pagos12POO Asíncrona
Futures y async/awaitFundamentos de StreamsStream ControllersConstructores asíncronosAsincronía en métodos de claseRepaso - Data Fetcher15Patrones de diseño Parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón CompositePatrón Repository