Logo Studenta

04 Semana_4_Fundamentos_Dart_iv

¡Este material tiene más páginas!

Vista previa del material en texto

Semana 4: Fundamentos de Dart (iv)
Facultad de Ingeniería de Sistema e Informática
LENGUAJE DE PROGRAMACIÓN V
Ing. Angel Marthans Ruiz, Mg.
Objetivos: 
Al finalizar, el alumno logrará:
 Conocer el concepto de Nullability en Dart
 Conocer e implementar diferentes tipos de colecciones.
2
Temas:
 Nulables
 Listas
 Sets
 Mapas
 Iterables
3
Nulables
4
Nulo significa "sin valor" o "ausencia de valor". Es muy útil tener este concepto.
Imagina no tener null en absoluto. Digamos que le pides a un usuario su código postal para 
poder guardarlo como un entero en tu programa:
Todo irá bien hasta que obtengas un usuario que no tenga código postal. Sin embargo, tu 
programa requiere algún valor, así que ¿qué le das? ¿Tal vez 0 o -1?. Esto no seria muy fácil de 
comprender para todos.
Nulables
5
Por otro lado, si puedes tener un valor dedicado llamado null, que todo el mundo ya entiende 
que significa "sin valor", entonces no necesitas explicar lo que significa.
Por muy útil que sea null para indicar la ausencia de un valor, los desarrolladores tienen un 
problema con él. El problema es que tienden a olvidar que existe. Y cuando los desarrolladores 
se olvidan de null, no lo manejan en su código. Esos nulos son como pequeñas bombas a punto 
de explotar.
Nulables
6
Nulables
7
Dart separa sus tipos en nulables y no nulables. Los tipos nulables terminan con un signo de 
interrogación ( ? ) mientras que los no nulables no.
Tipos No Nulables
Los tipos Dart son no-nulables por defecto. Esto significa que está garantizado que nunca 
contendrán el valor null. Estos tipos son fáciles de reconocer porque, a diferencia de los tipos 
anulables, no tienen un signo de interrogación al final.
Nulables
8
Tipos Nulables
Un tipo nulable puede contener el valor null además de su propio tipo de datos. Se puede decir 
fácilmente que el tipo es nulable porque termina con un signo de interrogación ( ? ), que es 
como decir: "Tal vez tiene los datos que se desea o tal vez tiene null".
Nulables
9
El signo de interrogación que aparece al final de String? no es un operador que actúe sobre el 
tipo String. Más bien, String? es un tipo completamente nuevo separado de String . String? 
significa que la variable puede contener una cadena o puede ser null . Es una unión de los tipos 
String y Null.
Cada tipo no anulable en Dart tiene su correspondiente tipo nulable: int e int? bool y bool? User
y User? Objeto y ¿Objeto? Al elegir el tipo, puedes elegir cuándo quieres permitir valores nulos y 
cuándo no.
Nulables
1 0
Operadores Nulos
Operador If-Null (??)
Una forma práctica de tratar los valores nulos es utilizar el signo de interrogación doble ? 
conocido como operador if-null. Este operador dice: "Si el valor de la izquierda es nulo , 
entonces use el valor de la derecha". Es una manera fácil de proporcionar un valor por defecto 
para cuando una variable está vacía.
Nulables
1 1
Operador de Asignación Nulo (??=)
En el ejemplo anterior, tenía dos variables: message y text . Sin embargo, otra situación común es 
cuando se tiene una sola variable que se desea actualizar si su valor es nulo.
Nulables
1 2
Operador de Acceso seguro contra Nulos (?.)
También hay un operador para la seguridad null cuando se accede a los miembros del objeto. El 
operador de acceso seguro contra nulos ( ?. ) devuelve nulo si el lado izquierdo es nulo. En caso 
contrario, devuelve la propiedad del lado derecho.
Nulables
1 3
Operador de Afirmación Nula (!)
A veces Dart no está seguro de si una variable nulable es nula o no, pero tú sabes que no lo es. 
Así que si estás absolutamente seguro de que una variable no es nula, puedes convertirla en un 
tipo no-nulable usando el operador de afirmaciób nulo ( ! ); más conocido como el operador 
bang.
Listas
1 4
List
En casi todas las aplicaciones que realice, tratará con colecciones de datos. List es el principal 
con la que trabajarás en Dart. Una lista es ideal para almacenar muchos objetos del mismo tipo 
de forma ordenada. Las listas en Dart son como lo que otros lenguajes llaman arrays.
Listas
1 5
Operador Spread
Usado para combinar listas
Sets
1 6
Set
Un Set es una colección de elementos en la que el orden no es importante y los elementos 
duplicados se ignoran.
Mapas
1 7
Map
Los mapas en Dart son la estructura de datos utilizada para contener pares clave-valor. Son como 
los mapas hash y los diccionarios en otros lenguajes. Si no estás familiarizado con los mapas, 
piensa en ellos como colecciones de variables que contienen datos. La clave es el nombre de la 
variable y el valor son los datos que contiene. Para encontrar un valor concreto, dale al mapa el 
nombre de la clave asignada a ese valor.
Iterables
1 8
Iterables
Un iterable en Dart es cualquier colección que te permite hacer un bucle a través de sus 
elementos. En términos más técnicos, es una clase que implementa la interfaz Iterable. List y Set 
son dos iterables con los que ya estás familiarizado. Sin embargo, no todas las colecciones Dart 
son iterables. No puedes hacer un bucle directamente sobre un mapa. Si quieres visitar todos los 
elementos de un mapa, tienes que iterar sobre las claves, valores o entradas, todos los cuales 
son iterables.
Iterables
1 9
Cuando usar Listas, Sets, Mapas o Iterables?
 Elija listas si el orden es importante. Intente insertar valores al final de las listas siempre que 
sea posible para que las cosas funcionen sin problemas. Y ten en cuenta que las búsquedas 
pueden ser lentas con colecciones grandes.
 Elija conjuntos si sólo le interesa saber si algo está o no en la colección. Es más rápido que 
buscar en una lista.
 Elija mapas si necesita buscar con frecuencia un valor por su clave. También es una operación 
rápida.
 Elija iterables si tiene colecciones grandes en las que necesita visitar todos los elementos 
perezosamente (Lazy Load).
Referencias:
 https://dart.dev/language/collections
 https://dart.dev/language/built-in-types
2 0
https://dart.dev/language/collections
https://dart.dev/language/built-in-types
La manera de empezar es dejar de 
hablar y comenzar a actuar.
Walt Disney
2 1
	�����Semana 4: Fundamentos de Dart (iv)
	Objetivos: �Al finalizar, el alumno logrará:
	Temas:
	Nulables
	Nulables
	Nulables
	Nulables
	Nulables
	Nulables
	Nulables
	Nulables
	Nulables
	Nulables
	Listas
	Listas
	Sets
	Mapas
	Iterables
	Iterables
	Referencias:
	La manera de empezar es dejar de hablar y comenzar a actuar.

Continuar navegando

Materiales relacionados

66 pag.
ResumenIIC1103-2 (1)

User badge image

Central de Apuntes

114 pag.
Curso Python - Manual

Continental

User badge image

Manuel Velázquez

33 pag.
mprogintc

SIN SIGLA

User badge image

Stiven Fajardo

108 pag.