Domina el lenguaje de tardo con seguridad nula: para principiantes | Rahul Agarwal | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Domina el lenguaje de tardo con seguridad nula: para principiantes

teacher avatar Rahul Agarwal, Flutter Developer & Trainer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción al curso

      0:41

    • 2.

      Permite sumergirse en Dart

      5:04

    • 3.

      Variables y tipo de datos

      7:02

    • 4.

      Interpolación de cuerdas

      6:06

    • 5.

      Palabras clave finales

      6:01

    • 6.

      Declaraciones condicionales

      9:33

    • 7.

      Listas

      12:46

    • 8.

      Mapas

      11:48

    • 9.

      Declaraciones de buceo

      14:31

    • 10.

      Romper y continuar

      4:31

    • 11.

      Funciones de declaración y sintaxis corta

      18:37

    • 12.

      Tipos de parámetros en función

      19:02

    • 13.

      Qué son clases y objetos

      16:14

    • 14.

      Tipo genérico

      13:41

    • 15.

      Manejo de excepciones con pruebas

      6:48

    • 16.

      variables y métodos estáticos

      10:52

    • 17.

      Operador de terneros y seguridad nula

      19:24

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

121

Estudiantes

--

Proyectos

Acerca de esta clase

Aprende Dart y hazte experto con este curso interactivo. Dart es un lenguaje limpio, sencillo y orientado a objetos en clase.

Sin embargo, no puedes tener una conversación sobre Dart sin mencionar Flutter. Flutter es un marco de interfaz de usuario móvil de Google que se usa para crear interfaces nativas de alta calidad en iOS y Android. Las aplicaciones de flutter se escriben usando el lenguaje de programación de Dart, que ha ayudado a hacer de Dart un lenguaje muy querido por la comunidad de desarrolladores. Antes de que puedas comenzar a lanzar aplicaciones con Flutter, necesitas aprender Dart. Este curso te ayudará a aprender los fundamentos de Dart y te ayudará a comenzar a aprender Flutter. Empiece a aprender hoy.

El curso se ha actualizado después de la liberación de Flutter 2.0 que trajo el concepto de seguridad nulo

En este curso aprenderás:

  • Cómo trabajar con DartPad

  • Cómo explorar la primera aplicación de Dart

  • Tipos de datos incorporados y declaraciones variables

  • Declaraciones condicionales

  • Bucles o iteradores

  • Funciones y métodos

  • Conceptos orientados a objetos

  • Herencia

  • Constructores

  • Colección de Dart: lista y mapa

  • Argumentos y sus tipos

  • Conceptos de seguridad nulos

  • Resumen

Conoce a tu profesor(a)

Teacher Profile Image

Rahul Agarwal

Flutter Developer & Trainer

Profesor(a)

Hello, I'm Rahul. I am skilled in building cross platform application using Flutter. I am freelance developer as well as conduct workshops to share my knowledge with the community.

Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción al curso: Hola, bienvenido a. Pero cuando el cuerpo de enfermeras para esa programación a no verbal, primero debemos conocer los fundamentos del lenguaje Dart a demanda para los desarrolladores está aumentando día a día. Y por eso debemos asegurarnos que conozcamos todos los conceptos requeridos. Antes de iniciar este curso, me gustaría presentarme. Yo soy, soy desarrolladora como talleres de conducta lo suficientemente bien como para locos personales medievales y se quedará comunidad en Meetup. Recuerda siempre, la programación es un arte y estamos oscuros. Tan solo así prepárate el código. Y empecemos. 2. Dejar sumergirse en Dart: Hola, bienvenido a la sección de programación oscura. El desarrollo multiplataforma es un tema muy candente hoy en día, y tenemos pocas opciones en el mercado para construir aplicaciones. Entre ellos, Florida ha ganado inmensa popularidad en un corto periodo de tiempo. Pero antes de saltar directamente a Flutter, debemos conocer los fundamentos de esa programación. Dart es desarrollado por Google. Y es igual que cualquier otro lenguaje de programación como C java script con concepto básico, que discutiremos en breve. Entonces sin perder más tiempo en lo teórico, empecemos a aprender paso. El primero que tenemos que hacer es instalar dark. Muerto inicio fácil como la cueva la cual puedes instalar por separado. Pero en esta sesión estaremos usando la cama de puntos en línea porque más adelante cuando estaremos aprendiendo aleteo e instalando todas las herramientas inundadas, entonces eso se instalarán automáticamente. Por lo que no tenemos que hacerlo por separado ahora mismo. Y eso es sólo una herramienta en línea para desarrollar y escribir los códigos. Por eso. Simplemente puedes ir a tu navegador y escribir dot pad. Y ver aquí está. Se escribe el código en el lado izquierdo. Y el lado derecho, la salida estará ahí. Si hago clic en el botón Ejecutar, puedes ver esta hello123 para, esta es una especie de for-loop que discutiremos más adelante. Entonces si decimos, ¿cuáles son los fundamentos del lenguaje Dart? El muy básico es el punto de entrada, que es la función principal. Aquí puedes ver esta función principal es el punto de entrada del código, lo que simplemente significa que si ejecutamos ese código, lo que sea que se escriba dentro esta función principal se ejecutará al principio. Si salpicando nuestro regreso aquí, no funcionará hasta y a menos que sea una función, y lo llamamos dentro de la función principal. Entonces para dar salida a cualquier cosa, gastamos hasta declaración de impresión. Aquí puedes ver si me quito esto y al igual que imprimir, el aleteo es impresionante. Y corre, entonces puedes ver que es imprimiendo. Entonces, simplemente, si vienes de cualquier PHP o cualquier otro lenguaje de programación, ya sabes, la declaración erratas es muy común en la mayoría de los lenguajes. Y también cadenas, comillas aseadas, pero el entero no. Que simplemente en su lugar. Si estoy escribiendo print 2021, entonces no necesita ninguna comillas dobles o simples. Pero si es una cadena que es alfabetos, entonces definitivamente requiere comillas. Ahora bien, sabemos cuál es el punto, ¿cuál es la declaración impresa? Y lo siguiente que tenemos que entender es que los comentarios en cualquier comentario del lenguaje de programación estarán ahí. Es como entender lo que está pasando en las funciones. Los comentarios son solo para referencia y no se ejecuten. Lo que eso significa es, si escribo aquí, siguiente declaración imprimirá cadena y luego la ejecutaré. No verás esta afirmación en esa consola porque es un comentario. Ahora bien, comentarios que solía usar. Para que en el futuro, cuando estés mirando hacia atrás en el código, es muy fácil para ti entenderlo y no te confundas más adelante. Entonces esto es lo muy básico, y no lo creo. Es esa gran parte de agitado. En la siguiente sesión, aprenderemos más sobre cuáles nuestras variables y cuáles son los tipos de datos. 3. Variables y DataType: Hola. En este video, aprenderemos sobre qué son variables y tipos de datos. Si vienes de una formación de ingeniería o de cualquier licenciatura tipo BC, es posible que hayas escuchado este término mirando. Es lo muy básico de cualquier lenguaje de programación. Entonces, ¿qué básicamente es una variable? Se utilizan variables para almacenar información para ser referenciada y manipulada posteriormente. Eso significa que si tienes algún medio, suponga aleteo, entonces simplemente lo almacenaste en una variable. Al igual que el lenguaje. El lenguaje es igual a aleteo. Y siempre que quieras dar salida a ese aleteo, solo usas ese lenguaje, palabra, palabra clave, puedes decir. Ahora bien, ¿qué son los tipos de datos? Hay algunos tipos de datos incorporados. Es decir Números, Cuerdas, Booleanos, lista, y mapa. Enumera nuestras matrices en PHP, se llama arrays, y aquí se llama lista. El concepto es el mismo. Y también mapas. Maps es solo un par de valores clave, como diccionario en lenguaje Python, matriz multidimensional en PHP. Por lo que no hay nada nuevo en el lenguaje Dart, la lectura es igual. Es solo, tienes que refrescar tu memoria aquí. Ahora, lo que pasa es cómo declarar una variable. Este es un patrón. Primero es el tipo de datos, segundo es el nombre de la variable y obtiene un signo igual, que es igual al valor. Ahora esta edad tiene un retraso de entero, a, 25 a 30, lo que sea. Y esta edad lo tiene. El tipo de datos de la guerra que es, lo que simplemente implica que no sabemos qué va a sostener. Puede tener entero, puede tener cadena. Pero aquí, si traté escribir algo como Florida una cadena, mostrará un error porque al tipo de datos se le da entero. Y recuerda, aleteo u oscuro es un lenguaje estáticamente tipado. Eso significa que la mayor parte del tiempo especificará 51, una variable de tipo o la función se mantendrá. Esto es lo principal. Simplemente, no lo haces, simplemente no lo olvidas nunca. Si tenemos un tipo de datos de inicio de sesión, entonces la variable debe contener ese valor. Ahora, todos y cada uno tipos de datos discutiremos paso a paso, uno a uno. Pero en el siguiente video, Vamos a practicar en los últimos números, que serán enteros y dobles. Y esta cuerda, tengo este ejemplo básico. Aquí. Estamos usando el ejemplo de la película Avengers. Si no has visto la película, está bien. Pero supongo que la mayoría de nosotros somos fans de Marvel. Aunque. Podrías haber oído hablar de este nombre, Iron Man, y saquemos nuestra oscuridad y quitemos lo que sea en la función principal y empecemos desde el principio mismo. En la última sesión, hemos escuchado de los comentarios que utilizaremos ahora. Aquí, es como declarar variables. Entonces ahora es el momento de declarar nuestra primera variable. Lo primero que tenemos que escribir, escribir , será int. Entonces el nombre de la variable. Se anotará, que equivaldrá a 3000. Por lo que sencillamente, hemos completado nuestra tarea de declarar una variable. Ahora, supongamos que esto es un entero, pero ¿qué pasa si hay un valor decimal? Supongamos pavo 0.5 o lo que sea. Si tienes un valor Pi y no en ese caso, el tipo de datos será doble. doble porcentaje es igual a 92.5. Simplemente dices que puedes agregar lo que quieras. Entonces si quieres tener alguna cuerda, entonces dejará que héroe de cuerda sea igual a Ironman. Si tienes algún otro héroe propio, sólo puedes escribirlo. No hay tema. ¿ Y cuándo nos cazaremos? De acuerdo, hemos declarado con éxito nuestras cuatro variables aquí. Ahora es el momento de imprimirlas. Entonces solo recuerda para imprimir, hemos aprendido que tenemos que usar la declaración impresa. Y esta declaración de impresión sólo imprimirá valor en esa consola. Entonces cuando estés construyendo una tercera aplicación real, si usas esta impresión, no esperes que el CUI o la pantalla de la aplicación móvil generen valor paloma. Sólo el valor está disponible para la depuración son el uso del desarrollador. Entonces si quieres, solo imprime partitura. Entonces puedes imprimir porcentaje. Entonces es héroe. Y luego imprime la rueda y corres, corres el programa. Y espero, sí, conseguimos la salida. Es como 3000. Es el porcentaje entero es 92.5, héroe Ironman y luego 10 nosotros. Entonces supongo que está claro contigo el concepto de variables y sus tipos. Y hemos entendido con éxito los números y los tipos de cadenas. En el siguiente video, discutiremos más sobre las cuerdas, lo que nos ayudará a entender ese concepto profundamente. 4. Interpolación de cadenas y cadenas: En esta sesión, sabremos más sobre cuerdas. Antes, hemos usado un tipo de datos string, pero en este video solo conoceremos las definiciones y conceptos. Entonces, ¿qué es la cuerda? Las cadenas son solo colecciones de caracteres o se puede decir alfabetos. Podemos declarar una cadena con comillas simples y dobles. Es como String name es una llamada a Flutter. Aquí estamos usando cotizaciones simples. Aquí. También puedes usar comillas dobles. Pero el problema surge cuando hay algo como que es fácil o algo que tiene dentro del código. Por lo que se puede decir, si tengo este nombre de guerra es igual a su 11. Ahora, lo mostrará porque tienes comillas simples dentro de las comillas simples. Para resolver este problema, tienes que usar o bien la contralga r, ¿verdad? Cotizaciones simples dentro de comillas dobles para evitar cualquier agregado. Aquí, barras opacas aquí, tienes que simplemente usar esto y el error se habrá ido. Si ahora ejecuto el programa, se puede ver la salida estará ahí. Y si lo deseas, puedes simplemente usar quitar la barras inclinadas y usar comillas dobles en el exterior. Entonces también tu programa se ejecutará sin problemas. Por lo que esta situación podría suceder mientras estás construyendo una aplicación que tienes algo como es atrevida o lo que sea. Solo tenemos que recordar que no puedes usar comillas simples dentro de comillas simples o comillas dobles dentro de comillas dobles. Por lo que sabemos declarar una cadena. Ahora, ¿cuál es la interpolación de cuerdas? Esto también es muy sencillo. Es como una combinación de variables y cuerdas. Por lo general, en cualquier otro lenguaje de programación, podemos combinar variables y cadenas como ésta. Es por eso que el nombre se llama llegada. Imprimir, mi nombre es y luego más símbolo y el nombre de la variable. Esto también es correcto y oscuro, pero no se recomienda. Eso prefiere escribir variables dentro de las comillas dobles usando dólar antes de que el nombre de la variable simplemente te muestre. Al hacerlo. Supongamos que la variable es Hero. Tengo que escribir. Mi héroe lo es. Y luego Ironman. Para eso, tengo que usar este signo de dólar y luego ese nombre de variable. Y si dirijo el programa, mira, mi héroe es Ironman. Es la interpolación de cuerdas. Antes solo imprimiríamos variables. Pero definitivamente en las aplicaciones del mundo real, tienes que usar algo así como invitados de bienvenida. Los huéspedes serán variables. Y luego si el usuario se registra, entonces ese nombre de invitado cambiará al nombre de usuario del usuario. Por eso la interpolación de cuerdas es un tema muy crucial. Ahora, dentro de esos poetas, es decir, podemos producir usando este símbolo del dólar. Pero ¿y si, si hay algún tipo de funciones como la adición o conseguir tierra? En ese caso, hay que usar Donner y estos tirantes rizados. Aquí se puede ver el ejemplo. Y también lo haremos por nuestra cuenta. Solo estoy quitando todo esto solo por la simplicidad. Al igual que la longitud int es igual a 20 y luego bert es igual a 10. Ahora bien, si quiero hacer algún tipo de cálculo con nuestras variables, entonces tengo que escribir algo es dólar, entonces este paréntesis, y dentro de esa tierra. ¿ Todo bien? Sí. Ahora si corro, simplemente sumará es 30 C. Pero no puedes hacer así. Y esto. Si intentas hacer usando sólo el signo del dólar, simplemente lo imprimirá. Suma es 20 más 30, pero no hace esa porción de cálculo. Por lo que hay que recordar esto mientras construye una aplicación porque habrá muchas veces en las que hay que hacer algún tipo de funciones. Es posible que tenga que obtener la longitud de la matriz. En ese caso, se utiliza este dólar y llaves. Si lo deseas, solo puedes probar un ejemplo más creando como área japonesa. Hay parámetro, hay muchos cálculos matemáticos si quieres, solo puedes practicar por tu cuenta. Eso es todo. Este concepto está hecho. Este es el concepto muy básico de cuerda. En los próximos videos, aprenderemos algunas palabras clave nuevas también. 5. Palabras clave final y const: hoy aprenderemos lo que nuestras constantes en ese idioma. Entonces cuando escuchamos la palabra constantes, lo primero que nos vino a la mente es que el valor no se va a cambiar. Que el valor no se puede cambiar. Es un valor constante. Entonces no hicimos las constantes, hay dos palabras clave. Primero es finito, y el segundo es esa constante. Ahora empecemos con esa definición de palabra clave const es muy simple. Const es uso si el valor se conoce en tiempo de compilar. Simplemente olvidamos este término de términos en palabras simples. Si bien el desarrollo de la aplicación, nos valor codificado duro, es decir, las marcas int constantes es igual a 90 marcas. Probemos los nuestros. Habrá const int marcas es igual a 90. Y si imprimes, puedes sprint marcas. Y eliminaré los datos anteriores declaración de impresión. Ahora se puede decir que son 90, Son latas de lata. Es decir, si tratamos de cambiar el valor más adelante, como 58 es Marx es igual a 50. Get será un error. puede asignar probabilidad a los valores. Es decir, si el valor es fijo, no podemos cambiarlo más adelante en programa. Este es el uso de la palabra clave const. Ahora podrías estar pensando, vale, Const a, lo entiendo, pero ¿cuál es esta palabra clave final? Es un poco complicado. Es como supongamos que no sabemos ese valor mientras escribimos código, pero el valor se calculará. Nuestro fetch de base de datos en Runtime. Tiempo de ejecución significa si la aplicación es operando. Y después de eso, después de que se haya calculado el valor, no queremos que se cambie el valor después de ser recuperado. Entonces es como alguna base de datos. Habrá la edad del usuario. Será final, cada palabra clave. Pero una vez que se extrae de la base de datos, después de eso, el usuario no puede cambiar ese valor. Entonces aquí no puedes intentar escribirlo directamente. Si solo escribes el nombre de cadena final es igual a aleteo. Entonces también funcionará. Normalmente. Aquí no mostrará ningún error porque al final es una constante. Pero entenderás más de este concepto más adelante mientras construyes la aplicación a nivel de área. Pero aquí en el ejemplo, sólo se puede ver el valor de pi, es decir 3.14 es una constante. En eso usaremos la palabra clave const. Pero si bien los datos están disponibles, y si lo asignamos a la fecha, punto de tiempo ahora, esto será un final porque supongamos que la aplicación se anexa a las 10 en punto. En ese momento, esa fecha serán las diez en punto. Se recuperará una vez y después. Esa fecha no será cambiante, pero ese valor de fecha no se ha escrito. Flota. Entonces en ese código, podemos hacerlo con un ejemplo muy básico. Sólo se puede decir, write int x es igual a 1, y es igual a 2. Final a es igual a x. Entonces para int a. Y aquí dejaré const b es igual a y. Imprimir B. Veamos. Mostrará un adder porque no podemos simplemente escribir algo, que es no sólo lo hicieron ellos aquí, si estamos usando una const aquí, el valor tiene que ser devuelto como cinco. Pero en lo anterior, final, a es igual a x No está mostrando ningún error. Porque el final es como si ejecutamos la aplicación y el valor se mete dentro de esa variable final, Está bien para ello. Después de eso no puedo cambiarlo. Al igual es igual a 26. Esto no puedo hacer porque es un tipo de constante. Por lo que entenderás, puedes entender aquí este concepto de una manera muy básica. Si es una palabra clave const, entonces tenemos que escribir el valor. Y si se trata de una palabra clave final, variable tierna podría contener algo que se asignará más adelante. Eso es todo. 6. Declaraciones condicionales: En esta sesión conoceremos las declaraciones condicionales. Las declaraciones condicionales estarán ahí en cualquier lenguaje de programación, PHP, Python, Java, C, C plus más sirven a lo que sea. El concepto de declaración condicional siempre estará ahí. Entonces, ¿qué son las declaraciones condicionales? Es como si hubiera una condición. Si eso es cierto, entonces haz otra cosa. No hagas algo. El primer enunciado condicional es si más puede ver aquí, ofensa, si esa condición es verdadera, entonces ejecuta el código, RS, ejecuta otro código. Es muy sencillo. Y el segundo es si, de lo contrario, si eso significa que si tienes múltiples condiciones, supongamos que si la edad es mayor a los 18 años, entonces se les permite conducir. Si entonces, sino, si, lo contrario si la edad es mayor a 21, entonces se les permite ir a los clubes y todo. Y simplemente, al final, lo contrario podrías simplemente escribir Ps mencionó tu edad. Es básicamente algún tipo de condiciones en tu aplicación. Y confía en mí, cuando estás construyendo alguna, cualquier aplicación del mundo real, habrá muchas condiciones. Si ves Facebook, solo puedes ver si el usuario ha iniciado sesión. Después mostrar la página principal de lo contrario, mostrar diálogo en violación. Ese es un muy buen ejemplo, voy a decir. Ahora bien, hay algunos operadores también, que usamos con frecuencia con si else las declaraciones, eso es fin son nuestros. Se pueden usar dos condiciones, se pueden unir usando y R. Y ambas tienen su propio significado. Y operador significa. Ambos. Las condiciones especificadas deben ser verdaderas. Es decir, si la edad es mayor 18 y la persona es de Tell it. En ese caso, existen dos condiciones que ambas deben cumplirse para ejecutar ese código. Y cuando se trata del operador, es igual que si esa persona tampoco es mayor que 18, son de Delhi, si alguno de ellos es cierto, entonces podemos el sistema puede ejecutar el código. Simplemente puedes esbozar la información básica de ella porque ahora mismo, empezaremos con un ejemplo. Hagámoslo. Otra vez. Yo estoy aquí usando ese hiere escenario para que sea fácil de entender. Quitemos los códigos anteriores y empecemos. Aquí primero. Estaré usando comentarios al escribir declarando variables a continuación. Ahora, hemos usado antes esa palabra clave const. Aquí voy a escribir const int piedras es igual a 6. Para su uso, solo puedo escribir comentario como usar const para que no se pueda cambiar el número de piedras. Simple. Densa corriente, cuerda. Héroe es igual a Iron Man. Y cuerda que aprendemos es igual a broncearnos. Abajo. Ese nuevo tipo de datos aquí será booleano. Booleano es lo que sólo se puede decir, verdadero o falso. Booleano no es más que eso para valorar, o será verdadero o falso. Entonces tenemos a este booleano, héroe, ¿cuándo es igual a cierto? Y otra vez, booleano. Aprendemos cuando es igual a falso. Por lo que hemos declarado con éxito todas las variables necesarias, las cinco variables aquí. Ahora usaremos declaraciones condicionales. Si nuestra primera condición será si piedras menores a seis, imprimir. No has recogido piedras del infinito. Una condición en su lugar, segunda condición, si r es igual a 6, eso significa que las piedras son seis. Y entonces cuando es igual a 2. Eso significa que el villano gana aquí en este caso, vamos a imprimir mediante el uso de la interpolación de cuerdas. Aprendemos tiene de nuevo la interpolación de cuerdas, seis piedras infinitas. Ahora hemos escrito dos condiciones aquí. Ese tercero podemos decir porque si de lo contrario se puede tener múltiples condiciones, no hay límite. Nuevamente, si las piedras son iguales a seis y la heroína es igual a verdadera. En ese caso, simplemente plink. Héroe llega al Hombre de Hierro como seis, que son las piedras, piedras infinitas. Y por último, en el comunicado else, se puede escribir héroe. Y no nos importan las piedras. Simple. Ahora, con tu mente, solo piensa, ¿cuál será la salida aquí piedras es 0, 6, y 0 cuando es verdad? Entonces el primero será falso, segundo será falso, el tercero. Por lo que se sumará la salida. El hombre tiene nuestras últimas seis piedras infinitas. Pero si simplemente hago esto falso también, entonces durará. De lo contrario se ejecutará porque ni siquiera una de las condiciones se cumple. Y yo soy esto, sólo lo estoy recordando otra vez. Dado que los tonos son constantes, no se puede cambiar el valor de las piedras. Aquí. Al igual que esto. Mostrará un adder. Por lo que espero que haya entendido claramente lo que nuestras declaraciones condicionales y si de lo contrario es muy autoexplicativo. Porque si una condición es verdadera, entonces imprícala. Imprimir la otra cosa. Entonces eso es todo para todos hoy. Nos vemos en el siguiente video. 7. Listas: Hasta ahora hemos discutido pocos de los tipos de datos como cadenas, dobles, booleanos también. Pero ahora es momento de discutir lista. Este es un tema muy importante porque mientras construimos una aplicación, estaremos usando un tipo distinto en la mayor parte del tiempo. Ahora, ¿qué es una lista? Una lista es simplemente un grupo ordenado de cualquier tipo de datos. Se conoce comúnmente como ADH está en otros lenguajes, si vienes de PHP o algo o cualquier otro lenguaje de programación podrías haber oído hablar de matrices. Por lo que simplemente significa antes cuando estábamos declarando cualquier variable, era enlace completo, un valor. Es decir, supongamos que este Wilson estaba sosteniendo sólo tenis. Pero ¿y si quisiéramos variable cual contendrá información múltiple del usuario? Supongamos el nombre, el número de contacto, la edad , todo de una manera , pero en ese caso, estaremos usando lista. Es muy conveniente almacenar y acceder a los datos de esa manera. Ahora, cada elemento de la lista está definido por un número único llamado ese índice. Es muy sencillo. Supongamos que si quieres acceder a un dato de la variable, solo tienes que recordar en qué índice se encuentra. Obviamente, para acceder a cualquier cosa, debemos tener alguna identificación. Aquí. Id, el ID es el índice y empieza a partir de 0. Empecemos a programar. Supongo que TOD lo has entendido, voy a quitar lo anterior. Declarar lista. Tenemos que mencionar ese tipo de datos En primera lista. Entonces simplemente voy a escribir marcas y los corchetes. Por lo que hemos declarado exitosamente alistarse. Y solo puedes ver en lo anterior el entero impar booleano de cadena también. Pero esta vez es una nueva lista de tipos de datos. Y cuando estaba diciendo sobre las posiciones del índice, lo que quiero decir fue, supongamos que en la lista de marcas, hay múltiples valores como este. ¿ De acuerdo? En esta variable hay cuatro valores . Y ahora este 90 está en la posición 0, está en la posición uno, sesenta en esa dos, y 30 está en el árbol. Entonces este es el índice. Simplemente se puede decir que supongamos que si quiero acceder a este 90, simplemente tengo que escribir marcas de impresión y esa posición de índice 0. Ahora ejecutemos el programa. Ver 90. Tienes este valor. Ahora suponga que si quiere ordenado, ¿qué índice tiene que escribir? Serán tres. Entonces, sí, entonces es 30 se imprime. Ahora, esa cosa es, supongamos que tenemos una lista vacía de edad, OK, y V1 para asignar un valor a una nueva forma. Es decir, podría ser, está vacío. Pero más adelante queremos asignar. En ese caso, no se puede simplemente escribir directamente edad en la posición 0, dar a la fecha. Esto mostrará un adder cuando estemos imprimiendo lista de edades. A ver, pruébalo. Ver sin atrapar, agregar un error de rango, lo que significa que esta no es la forma correcta de asignar su valor. Pero si quieres cambiar el valor de las cosas que ya se le ha asignado, eso son las marcas de Enda. En esa posición 0, se quiere escribir 10. Y luego imprimir marcas. Lista. Veamos qué pasa. Ver, 90 ha cambiado a diez, lo que simplemente implica que se puede cambiar el valor ya existente con este método, pero no se puede asignar. Ahora, podrías preguntarme entonces cómo vamos a asignar un valor porque Marx ya está pre-escrito. Pero cuando estamos construyendo una aplicación, todos esos datos serán en tiempo real. En ese caso, solo tengo que escribir H dot y luego agregar. Esta es una función. Esta es la, se puede decir operaciones que una lista exceptúa la edad, punto agregar 25, y luego imprimiré Edad. Ver, 25 está ahí. Y ahora no está mostrando ningún error porque esta es la forma correcta de agregar un valor dentro de la lista. De nuevo, si escribo H dot, agrego 13, e imprimo, entonces será 25 y ordenado C. Así que es un concepto muy fácil y muy importante porque la lista es la única manera cuando estamos buscando mucho, supongamos en una, en una aplicación como Facebook, habrá muchos usuarios. Por lo que todos permiten a los usuarios podrían estar almacenados en una lista. Si ves esta diapositiva, he escrito que el índice comienza desde 0 y se extiende hasta n menos 1, donde n es el número total de elementos en la lista. A lo que me refiero con eso es el índice aquí. Comienza desde 0 y termina en tres, que es el número total de elementos en la lista menos 1, es decir 1, 2, 3, 4, 4 menos 1, 3. Ya que comienza con 0, ese final será siempre el número total de elementos menos uno. Es un concepto muy importante de cualquier lenguaje de programación. Ahora, hemos hecho esta porción donde no podemos asignar valor a una lista vacía. También hemos hecho dispersión. Ya estamos valor asignado se puede cambiar así. Ahora bien, son pocas las operaciones que se pueden hacer en cualquier lista. Esa porción agregada se hace. Ahora bien, si quieres quitar algún elemento, entonces es muy fácil. Es como lista, nombre, que es Marx dot remove. Y qué datos quieres eliminar. Yo quiero quitar el supuesto 25. Y entonces lo imprimiré. Debe desatar, exhibido 30. Supongo que hice un pequeño error. Es como cuando estamos quitando, podríamos tener que usar remove at para que asignemos el índice. Supongamos que aquí quiero eliminar 0. ¿ De acuerdo? De acuerdo, es tenernos quitando de las marcas e imprimiendo división de edad demostrará que están removidos. Hagámoslo otra vez. En Marx fui a quitar 90 y luego imprimir marcas aquí. Echemos un vistazo a estos resultados. C, 90 es uno. Entonces de esta manera, podemos quitar el elemento si conocemos el valor del elemento. Pero supongamos que no conocemos ese valor y sólo conocemos el índice que es marcas, punto, quitar, agregar. Y aquí voy a dar índice como supongamos uno y comentado antes de quitar línea. Ahora se quitará el 80. Ver 10, 60, 30, pero una t no está ahí. Entonces quitar y quitar en nuestras dos operaciones las cuales son muy importantes. Porque definitivamente cuando hemos insertado algún valor, si el usuario quiere eliminarlo, debería tener esa capacidad. Son esa característica que puedes ver. Ahora, lo último es la longitud de la lista. Es decir, si queremos conseguir la longitud, acabamos de ver, ¿verdad? Imprimir marcas longitud de punto. Y simplemente dejaré de quitar elementos. Y ahora digamos que creo que va a mostrar por lo que estaba discutiendo antes, es decir, este es el valor n y el elemento final siempre es la longitud menos uno. Y si quieres imprimir algo como esto con concatenación, puedes hacer así. El largo de la lista es entonces dólar. Y sólo recuerda desde la última sesión, si queremos hacer alguna operación, entonces tenemos que hacer dólar y luego llaves. Y luego marca la longitud de los puntos. Lo volveré a ejecutar y ver la longitud de la lista es de cuatro. Entonces solo quiero dar un recapitulación de la concatenación porque no quiero que se olviden también los conceptos anteriores. Entonces está bien, eso es todo por este video. Nos volveremos a encontrar en el siguiente video. Gracias. 8. Mapas: Por lo que ahora es el momento de conocer el siguiente tipo de datos, que es el mapa de Tom. Mapa es también un tipo de datos muy importante. Cuando estamos construyendo una aplicación de inundación. En su mayoría usarás lista. Nuestro mapa son, utilizarás mapa dentro de la lista. Ahora mismo si te estás confundiendo, no hay problema. En los videos posteriores, comprenderás lo que quise decir. Entonces, ¿qué es un mapa? Un mapa es un par de valores clave simple, lo que significa antes cuando se trataba de una lista, sólo se puede ver que era su valor. Pero no tiene nombre alguno. Se puede decir que tenía ese índice en ellos desde el que podemos llamarlos, pero no tenía nombre. Entonces cuando esos datos son muy largos o cuando los datos son muchos datos, Es muy difícil recordar el índice del valor. En ese caso, los mapas son muy útiles. Entonces veamos qué significa. Esa clave será de tipo string, pero los valores en un mapa pueden ser de cualquier tipo que sea clave se supondrá nombre. Entonces el valor puede ser string, es decir, Rahul aleteo o lo que sea. Pero también el nombre clave de punto puede tener 22 o 23 los valores numéricos que sean. Por lo que no es obligatorio usar solo cadena como su valor. Para declarar este mapa, podemos utilizar el mapa construido que es éste. Son, necesitas encerrar los pares de valor clave con un eco lubrica así. Empecemos por crear nuestro primer mapa. Nuevamente, eliminaré estos datos y comenzaré con una hendidura limpia. Ahora, cuando estás usando un constructor de Mac, solo puedes escribir frutas var es igual al mapa. Y después de eso, sus frutos. Se puede escribir apple como esa clave. Tan solo recuerda como la clave y su valor será rojo. Ahora bien, si imprimo frutas variable y aquí var, o también puedes usar mapa como tipo de datos. No habrá ningún error. Ves, ¿esto? Manzana y rojo. Apple es esa clave, y el rojo es el valor. Entonces la mayoría de las veces no necesitamos esta E, necesitamos este valor de rojo para imprimir eso. Simplemente tienes que escribir Mapa miembro variable, y luego puntar py, que es Apple. Ahora ejecuta tu programa. Y en la salida verás Mar Rojo. Así es como lo hacemos. Es así como se está utilizando el mapa. Ahora, de nuevo, si quieres agregar otro valor de plátano con un valor de amarillo. Y nuevamente, primero, imprime todo el mapa para que puedas ver cómo se está mostrando. Es como la primera clave es Apple, luego el valor es rojo y las comas segunda clave es plátano, y el valor es amarillo. Ahora podrías preguntarme, imprimamos valor amarillo. En ese caso, primero, tengo que escribirles nombre del mapa. Entonces esa clave, que no es un ejemplo más válido, puede decir, será algunos usuarios mapa y que haremos usando mapa literalmente antes, esto se hace usando map constructor. Ahora, declararemos un mapa usando llaves directamente, lo que significa. Tengo un mapa de usuario. Entonces aquí, primera clave se llamará Bill Gates. Segundo, se puede decir edad. No conozco esta edad exacta, pero supongamos ejemplo 88 y cansado, ¿Dónde estará fundador? Y volverá a ser una cuerda, Microsoft. Por lo que aquí se puede ver así es como declaramos un mapa. Este es también un tipo de tipo retardado que mantendrá múltiples valores, como justo como lista. Entonces ahora si quiero, solo escribiré usuario de impresión y luego solo comentaré las líneas anteriores. Ver nombrado fundador de Bill Gates, Microsoft. También. De la misma manera si quieres, como imprimir. Y te mostraremos cómo imprimir una muy nueva, no nueva. Es como por falta de tiempo para un fundador que para la evidencia de Microsoft ¿verdad? Bajo es. Ahora de nuevo, me relaciono usuario y luego nombre. Aquí estoy usando la concatenación. Y aprenderás a buscar valor de datos de un mapa. Supongo que hay algunos agregados. Nuevamente, debe terminar con esto. Sí, sé lo que hice. Aquí. Es un error muy básico. Nada mucho. En la programación, estás acostumbrado a este tipo de errores tontos. Ahora, obtienes el financiador de salida de Microsoft es baguettes. Entonces esta es la ola, cómo generarás esos datos en tu aplicación real. Es muy importante aprender. Y también puedes imprimir la longitud del mapa, como hemos hecho antes en la lista, serán tres. Es decir, hay tres valores. Ver tres valores. Otras operaciones incluye supongamos punto de usuario. Ya verás si solo escribo claves de impresión de usuario. Demostrará todo lo que clave es que es nombre, edad, fundador. Para que si te olvidaste También, entonces solo puedes comprobarlo. Y suponga a partir de esas claves, se preguntan los valores. Es decir, no recuerdas ninguna de las claves, pero quieres buscar todos los valores, entonces tienes que usar una función u operación como el punto de usuario. Por cada deuda es que pasará por el mapa con este valor clave. Y sólo se puede escribir impresión. Si quieres valor, solo puedes imprimir ese valor. Y nuevamente encomiaremos el anterior Ting e imprimirlo y ejecutarlo. Y ahora verás a Bill Gates AT y Microsoft. Así es como miras a través del mapa. Y no tienes que soportar tanto estrés. En las próximas sesiones. Estaremos hablando profundamente de bucles. Pero ahora mismo, nuestra preocupación era el mapa. Y hemos aprendido mucho, la operación final, que es importante, obviamente hay mucha operación se puede ver, ver. Pero la final si se puede decir que es como quitar. Si desea quitar una clave, sólo puede escribir remove, entonces esa clave, nombre clave será nombrado. Y después de eso, si bebes, entonces no verás aquí a Bill Gates. Ver Bill Gates fue retirado del mapa. Entonces eso es todo. Estos son los conceptos básicos. Espero que acabes de entender lo básico porque para dominar menos nuestro mapa, hay que practicarlo mientras se construye una aplicación del mundo real. Gracias. 9. Declaraciones de bucle: En esta sesión, estaremos hablando bucles y qué son bucles. Entonces si vienes de cualquier otro lenguaje de programación, supongo que podrías haber escuchado esto para, FOR loop o para un do-while bucles. Y porque en ingeniería o cualquier programación básica, este concepto estará ahí. Por lo que los bucles se utilizan para generar múltiples números de veces. Los datos pueden ser. Si tenemos que escribir, supongamos nuestro nombre un 100 veces, no sólo vamos a imprimir, imprimir, desorden imprimir Florida cuando más plano. Tomará mucho tiempo. En ese caso, lo haremos, podemos usar bucles. Y al final, definitivamente te lo diré mientras construyes una aplicación del mundo real donde se están utilizando bucles. Entonces bucles de cuatro tipos, 44 en y a y Empecemos a entenderlo uno por uno. Entonces, ¿qué es un bucle for? El bucle lejano ejecuta un bloque de código para un número específico de tiempo, que mencionamos en ese bucle. Entonces la sintaxis es así. Utilizamos para entonces corchetes. Ahí hay paréntesis. Dentro de eso habrá tres datos. En primer lugar será condición de inicialización y lo que se debe hacer. Podrías confundirte ahora mismo. Hagámoslo prácticamente. Voy a quitar todo esto. Empecemos. Loops. En primer lugar será para bucle. Entonces supongamos que tengo esto para la sintaxis de bucle. En primer lugar es la inicialización, es decir, la variable int I es igual a 0. Entonces la condición yo menos de tres. Y entonces, ¿qué se debe hacer a continuación? Después de que se ejecutará este código de bloque. Como si escribo impresión. Entonces si hago clic en Ejecutar, Así es como se hará. Lejos I es igual a 0. Es decir, voy a ser 0. Después comprobará el estado. Si yo valor es menor a tres. Si es cierto, entonces irá en set y ejecutará este bloque de código. Después de la ejecución de este bloque de código, entonces irá a este paso, es decir yo más plus, lo que implica que me convertiré de 0 a uno. Vamos a ejecutarlo. Ver 012. No va hacia adelante. Eso es después del 23 porque existe esta condición. Entonces esto es algo muy básico. Pero la mayoría de las veces estaremos usando bucles mientras se trata de listas están mapeados. Por lo que escribiré lista. Marx es igual de nuevo a 50, 30, 20, 10. Entonces escribiré para int I es igual a 0. Seré menor que la longitud de esa lista, que serán cuatro. Y yo plus, plus. Y ahora si phi uno para imprimir, entonces sólo escribiré ese nombre de lista y el índice, que empezará desde 0 porque aquí lo hemos mencionado. Entonces si quieres, solo puedes hacer una pausa y entenderla de nuevo, porque int yo es 0, comprobará si soy menor que la longitud, que es cuatro. En caso afirmativo, entonces imprimirá ese valor en la lista de ese índice. En primer lugar será 0, es decir 50. Después de eso, hará este paso, yo más uno. Y entonces otra vez, sucederá lo mismo. Veamos la salida. Se puede ver la salida 1532, de hecho 10. Por lo que el bucle es muy poderoso. Y mientras construyes una aplicación del mundo real, estarás usando bucles todo el tiempo. Porque los datos que vendrán de la base de datos serán en forma de matriz. Lista. Por lo que has entendido esto para bucle. Ahora hecho El siguiente bucle es para NLU. lo que podría estar pensando por qué esto para NLU, el bucle for-in se usa para recorrer y enumerar un mapa. Está siendo en su mayoría, se está utilizando la mayor parte del tiempo sólo porque este bucle a través de la lista de datos es tan común. Entonces hay este tipo específico de bucle donde no tenemos que mencionar como esa inicialización, este panel de pestañas, porque es una pérdida de tiempo si ya sabemos lo que tenemos que hacer. Por lo que comentaré los cuatro anteriores. Y aquí, vamos a escribir esto. Y lejana manera de escribir. Loop va como qué? Mark, eso. Esta es una variable simple en marcas. Y luego imprimir marca. Ves, la salida es la misma, pero el código se ve mucho más limpio que arriba porque es simplemente, ¿está haciendo qué? Lo es. Asignar esta variable de marca al primer elemento, segundo elemento, y luego imprimirla automáticamente. Y esto para bucle inbuilt sabe que debe recorrer dos puntos de longitud de la lista, no debe exceder. Por lo que es una práctica muy común de usar for-loop en esa aplicación del mundo real. Supongo que lo has entendido hasta aquí, se puede utilizar en Mapas también. Ya has visto lista, pero intentemos mapa. Var. El usuario es igual a c0 será alrededor de la edad se supondrá 25. Y luego segundo tomaremos, este es otro nombre y la edad se salvará 30. Ahora, si quieres bucear a este mapa, es simplemente va a escribir lejos. Este es el día de cualquier nombre de variable en las entradas de punto de Mark. Entonces esto es algo que hay que recordar. A ver, supongo que sí, tantas operaciones que puedes hacer. Imprimamos y veamos qué sale. Punto de datos. Si solo escribo datos, vamos a ver. Muestra un error o algo así. Perdón, tengo que escribir usuario. Esto volvió a ser un error tonto. Entonces este usuario, si estamos usando un mapa, entonces hay que escribir entradas. Esto hay que recordar de memoria, porque el mapa es un tipo de tipo de datos diferente. Y luego solo puedes escribir clave de punto de datos e imprimir si quieres valor entonces valor de punto de datos. Y sentémonos en ello. Ver Rahul 25, tick tock. Entonces solo imagina a este usuario ahora mismo, está conteniendo solo dos datos. Pero si tienes una aplicación como Facebook y obtienes nuestras cohortes o laxas y cualquier cantidad de datos, es imposible que escribas a todos por claves muertas. En ese caso, estaremos usando bucle. Ahora, más del bucle que entenderás mientras estamos construyendo una aplicación de aleteo en este momento, solo entiendes el concepto. están haciendo dos bucles. Entonces el siguiente es el bucle while. Si bien loop también hace el mismo trabajo. No es como muy diferente. También recorre los elementos. Utilizamos mayormente while loop cuando sí sabemos cuántas veces se ejecutará realmente el bucle. Aquí en ejemplo, conocemos el límite, es decir, mientras que número menor que este. Pero supongamos que se está reproduciendo una música y hasta que, y a menos que el usuario presione el botón de parada, debería seguir reproduciendo. Este es un buen ejemplo. Entonces hagámoslo a través del bucle while también. Yo lo comentaré. Entonces. Simplemente escribiré el número int es igual a 0, y. Y es el número menor a 10. Número de impresión. Y número plus, más que se implementa. No es nada nuevo. Es lo mismo que el for-loop. Ver, la forma de escribir es diferente. For loop se está escribiendo así y vil es así. Entonces el bucle final es que do while, do while loop es diferente del while loop porque en el wild loop, primera condición fue etiquetada. Y luego después se ejecutó el código de bloque. Pero primero el código se ejecuta al menos una vez, y luego se comprobará la condición. Vamos a probarlo. Con el mismo ejemplo. En este número es 0. Por lo que sólo diremos hacer número de impresión, pero esa condición será número mayor que uno. Entonces solo imagínense aquí esa condición es falsa. Entonces si estuviéramos usando este while loop, no debería imprimir. Pero ya que estamos usando do while, se comprueba la salida, ver 0. Se está imprimiendo una vez. Si escribo aquí número plus, plus también, entonces también la condición es falsa, pero se ejecutará este código de bloque. Por lo que do-while no se está utilizando mucho MATLAB. Es como si no hubiera usado do-while, mientras construía mis aplicaciones. La mayoría de las veces nos estamos ocupando de for loop. Por lo que depende de usted qué tipo de bucle desea usar en su aplicación. Por lo que en el siguiente video, aprenderemos pequeñas dos palabras clave también las cuales se están utilizando mientras estamos usando bucles y Q. 10. Rompe y continúa: Esta será una sesión muy corta en la que discutiremos qué se utilizan nuestras declaraciones break y continue, break and continue con loops, cualquier tipo de loops. Y lo que haga, sólo veremos porque evitamos romper solamente, se puede entender que termina eso. Mira. Probémoslo con el ejemplo. Y cuando esto, quita esta y esta declaración de ruptura derecha. Si tenemos un bucle for, para var I es igual a 0, yo menos de cinco. Yo plus, plus. Espero que hayan entendido este bucle porque el último capítulo ya hemos discutido esto. Aquí. Yo puedo escribir imprimir I, y definitivamente verán la duda puesta igual de 0 a cuatro. Pero ¿y si voy a tener un padecimiento aquí? Al igual que si yo es igual a entonces romper. Esto simplemente significará que si el número va a dos, debería terminar y luego ejecutar ese código a continuación. Vamos a correr y ver que será sólo 01. Después de eso, se está terminando el proceso y el código se verá abajo. Pero cuando se trata de continuar declaración, continuar sólo saltará la deuda lo haría en ese bucle, pero no terminará todo el consejo. Supongamos que tengo aquí impresión, aleteo. En primer lugar, irá 01, luego termina y ejecuta ese código. Pero si escribo aquí, Continuar. Y todo ese código será C, Just, voy a estar usando continuum y luego ejecutarlo. Ves, hay mucho diferente al ladrillo porque sólo cuando eran dos, sí código fue terminado. Pero no causa fuera de esto for loop. Simplemente revisa la condición nuevo y sprinter resto del código. Y entonces sólo irá y ejecutará todos los códigos a continuación. Entonces este es un concepto muy básico pero importante porque Hume, tendremos que usar continue R4 far enunciado en tu aplicación siempre que se requiera. Por lo que espero haber despejado su duda. Tú, si quieres, solo puedes intentarlo de nuevo con algunos ejemplos más. Si lo deseas, puedes simplemente escribir lista de usuarios, luego recorrer la misma, y luego tratar de usar break our if-else. Depende de ti porque cuando estamos aprendiendo algún lenguaje de programación, es mejor si practicamos y tratamos de abordar también para que sea beneficioso para nosotros para el futuro. Entonces eso es todo para este video. 11. Declarar funciones y sintaxis de la sintaxis de la mano: Bienvenido de nuevo. En esta sesión, estaremos hablando de un tema muy importante. Por lo que si tienes algún interés en la programación, podrías haber llegado a la palabra función. Serán queridas las funciones. O estás trabajando en PHP C, lo que sea, tienes que entender el concepto de funciones. Entonces, ¿qué es una función? La función es solo una colección de código. Son declaraciones agrupadas para realizar una tarea. Entonces cuando estamos escribiendo códigos aquí, supongamos que esto es sólo un código realmente básico, la deuda, para que podamos escribirlo en un, en el mismo archivo. Pero y si habrá un 100 líneas de código o un 100 funciones para ejecutar en un 100, la tarea a ejecutar. En ese caso, tenemos hacer uso de funciones para que declaren esa función en otro lugar y la llamemos declaren esa función en otro lugar y la llamemos aquí en nuestro llamarlo en múltiples veces donde queramos. Entonces empecemos. Voy a quitar y limpiar todo hasta que nos gusten las funciones. Por lo que aquí se puede ver la sintaxis de una función básica. Consta de tipo de devolución, opcional, pero es recomendable. Tipo de devolución significa lo que devolverá la función. Y el segundo es el nombre de la función. Entonces es sólo una especie de nombre de variable que se puede decir, porque nuestro vastamente para llamar a una función, hay que darle un nombre. Y esa tercera cosa son los argumentos de parámetros. Ese es el valor que estamos enviando a la función mientras la estamos llamando. Entonces en este momento podrías confundirte, pero no hay necesidad de entrar en pánico. Lo entenderemos lentamente paso a paso. Y cuando estaba diciendo y luego teclear, a veces la función puede no devolver nada. En ese caso, usamos void como el tipo de devolución. Entonces si oyeron este voto, podrían pensar, esperen, lo he visto en alguna parte. Entonces si solo vas al código de pato aquí, esta también es una función que es la función principal con el tipo de retorno de vacío. Entonces es muy raro que desde muy temprano, alrededor del principio, estuviéramos trabajando con funciones, pero no lo sabíamos porque este es el punto de entrada. Por eso no lo discutimos antes. Por ahora, puedes ver que es la misma sintaxis que es el tipo de retorno , nombre de función, y luego paréntesis y llaves. Es así como declaramos la función. Ahora, el TOD está hecho. Anotemos eso escribiendo una función porque hay diferentes maneras para diferentes propósitos. El primer camino es la función sin pasar argumentos. Eso significa que no estamos pasando ningún argumento hacia la función y argumentos donde esta valora. Vamos a probarlo. Nosotros mismos. Y sólo escribiremos primera función sin argumentos molestos. Y devolver el tipo de que esta función no está devolviendo nada. Por lo que lo declararé como vacío. Hagamos algo matemático, bien, parámetro. Y luego en la función, podemos tener variables, algunos códigos ejecutables, lo que queramos. Por lo que solo declararé primero una variable de entero para. Entonces segundo será el de un desierto. Para. Entonces ahora hagamos el cálculo que es malo emisor será una variable que estará sosteniendo este cálculo dos en L más B. Eso es longitud más pan. ¿De acuerdo? Y entonces sólo vamos a imprimir aquí el perímetro es y luego concatenación. ¿ De acuerdo? Por lo que aquí hemos declarado con éxito una función. Ahora ya les dije, si tenemos una función, tenemos que llamarla. Entonces cómo lo llamaremos simplemente escribirá parámetro fino que es el nombre de la función y paréntesis, Eso es todo. Y ahora ejecutemos el programa. Ver, ese parámetro es 12, es decir, cuatro más dos es 66 en dos es 12. Entonces esta es la primera forma de escribir una función que no tiene ningún tipo de retorno y que no está recibiendo ningún argumento. Eso es valores sordos están siendo devueltos dentro de la función. De acuerdo, espero que hayan entendido hasta ahora, porque ahora vamos a esa siguiente forma de escribir una función, que es función con argumentos. Como sugiere el nombre. Aquí, estaremos pasando el argumento cuando estemos llamando a la función. Entonces supongamos aquí para declarar los parámetros, escribiré primero tipo de datos del parámetro que es int length, y luego segundo será int bread. Ahora bien, si estamos pasando el valor, entonces no tenemos que declarar el valor dentro de la función. Por lo que lo quitaré de aquí. Ahora se hace su parte declaratoria. Pero si estamos llamando a una función, entonces aquí está mostrando este error porque solo podemos ver la edición a argumentos posicionales esperados que es, tenemos que pasar el valor a primero yo pasará sólo cinco y luego segundo también cinco, que esta tierra y pan. Ahora veamos de nuevo la salida. Ver ese parámetro es 20. Entonces lo que será, será función con argumento pasante. Es muy sencillo. Pero espero que hayan entendido porque este es un concepto muy básico de la programación. Sin esto, no podrás entender más adelante. Por lo que te sugeriré si tienes alguna duda, solo también investigas por tu cuenta y trataste ir más profundo de lado el concepto. Ahora pasemos al tercero, que es función con argumento y el tipo de retorno. Por lo que simplemente, acabaremos de escribir set tercera vía función con argumento y el tipo de retorno. Entonces como el propio nombre sugiere, que va a tener argumento como este y vamos a tener un tipo de retorno. Entonces ahora el tipo de retorno no estará aquí, vacío, será int. Ahora puedes ver que el cuerpo adder dub podría estar completo normalmente, pero no está devolviendo ninguno porque no está devolviendo ningún valor. Entonces lo que tenemos que hacer, no lo imprimiríamos dentro de la función. Simplemente diremos devolver el valor perimetral c, ese sumar se ha ido. Entonces aquí tendremos un tipo de retorno de entero ya que ambos son enteros y después del cálculo se convierte en un entero. Eso es todo. Ahora bien, si estamos regresando dar medios de valor, tal vez tengamos que atraparlo en alguna parte. Entonces aquí sólo escribiré int. El resultado es una llamada para encontrar podómetro. Ahora la variable resultado constará de ese valor calculado enviado por la función Duff. Entonces ahora, si queremos, simplemente podemos imprimir como es el resultado phi dot. Entonces aquí. Ahora tenemos que escribir variable de parámetro de resultado. Porque lo estamos almacenando con este nombre. Y además, si quieres, puedes hacer algunos cálculos más más adelante, como int. El total final es igual a razonar un resultado. Además solo puedes escribir 200. Y luego aquí otra vez imprimir resultado final. Después. Entonces, después de agregar es, luego encontrar. Por lo que 10 K. Está mostrando algún asunto. Y eso está bien. Total final, perdón. De acuerdo, ahora vamos a ejecutar el programa. Debería ser primero será 5 más 5, 10, 20, y luego segundo obviamente será más 100, 120. Por lo que hacemos este tipo de retorno normalmente para que podamos tener algunos cálculos más después. Es como después de cuando un usuario, cuando tratamos de obtener la edad de un usuario, después de conseguir esa edad, podríamos hacer algunos cálculos. Vamos, vamos a ver. Supongamos que aquí dice int user age. ¿ De acuerdo? Y simplemente aquí sólo escribiremos retorno 20. Supongamos. Ahora, y si quiero primero int obtener edad del usuario, edad reductora. Y después de conseguir la edad del usuario, vamos a hacer algunos cálculos como si conseguir la edad del usuario es menor a 18, imprimir, no puede conducir. De lo contrario. Imprimir. Permitido conducir un auto. Ahora vamos a comentar esto y ahora vamos a correr. Y espero que sepan cuál será el resultado. Se leerá. De lo contrario porque estamos llegando a in t Cuando estamos llamando a la función. Y luego de la declaración if else, que ya hemos aprendido, vemos si al usuario se le permite legalmente conducir un automóvil o no. Por lo que este es un uso muy básico del silbido cuando estamos construyendo la aplicación completa, tendremos un uso más avanzado de estas funciones. Ahora, la final, otra forma de escribir una función, solo puedes decir que es sintaxis taquigráfica, nuestra flecha gorda. Lo que significa que si nuestro cuerpo de función contiene sólo una línea de código, entonces podemos usar esta flecha, flecha y este tipo de símbolo de flecha. Simplemente puedes decir un, una bobina y mayor que declarar la función y hacer que se vea nítida. Entonces es solo una forma de limpiar nuestro código. Y también en la sección de notas, puedes leer en notación de flecha gorda, no usamos las llaves y tampoco usamos palabra clave de retorno. Entonces datos, hay mucho que digerir. Otra vez. Aquí intentemos con esta sintaxis int fat arrow. Aquí tenemos, solo estamos regresando o puedes tener solo una línea de código. Entonces, a primera hora, se nos dijo que tenemos que quitar las llaves. De acuerdo, lo quitamos. Y segundo, no tenemos esta declaración de retorno. ¿ De acuerdo? Y en lugar de eso, tendremos esta flecha. Mira, se ve tan fresco y tan limpio. Y ahora de nuevo, simplemente cambiaré ese valor a 17. Y vamos a ver. Qué es la salida. Mira, no puede conducir. Lo que simplemente significa que la función está haciendo lo mismo que antes. Pero con esta sintaxis abreviada, se ve más limpio y es más fácil de leer. Deuda acaba de devolver 17 y hay este tipo de retorno también, que es un entero. Y si también quieres aquí, puedes hacer estos cambios. Primero. Voy a quitar los tirantes rizados. Entonces les quitaré estos regresan o regresarán y simplemente, Sí, escribiré flecha. Y esta única línea de código que es, después de calcular, volverá directamente a lo que sea que llame. Voy a comentar hacia abajo y hacerlo de nuevo. Y espero que el resultado sea el mismo que antes. Ver que el resultado es 20 después del resultado final, después de sumar es 120. Entonces cuanto antes, se veía muy desordenado, pero con la sintaxis taquigráfica, está mejorando. Por lo que espero que hayan entendido los fundamentos de la función. En el siguiente video, profundizaremos más en los parámetros y su tipo. 12. Tipos de parámetros en la función: Ahora es el momento de profundizar en los parámetros y tipea. Por lo que antes hemos aprendido a declarar una función y cómo acepta un parámetro. Pero hay diferentes formas de aceptar un parámetro. En ese diagrama, se puede ver que los parámetros son de dos tipos, opcionales y requeridos. El nombre solamente, lo puedes entender. Si es necesario, entonces hay que pasar el argumento. Mostrará un adder. Y cuando es opcional, entonces los datos también tratan tipos de opcional que es particional, con nombre y por defecto. Entonces entenderemos a todos y cada uno paso a paso. Entonces empecemos. En primer lugar, entenderemos cuáles son los parámetros requeridos. Vamos a traer nuestro editor de código y crear un nombre de función, nombre de impresión. Y supongamos que acepta argumentos como string name1, string name2, string name tree. ¿De acuerdo? Y me limitaré a imprimir los nombres como nombre1 y Nombre 2 y 3. Está bien. Tenemos nuestro fondo en general. Ahora es el momento de llamarlo como nombre de impresión. Pero si directamente lo llamamos así, mostrará un adder porque es un tipo de parámetro requerido, que significa que tenemos que enviar un valor. Simplemente enviaré a Hulk, Iron Man. Y es por demanda. Veamos la salida. De acuerdo, se pueden ver todos esos hasta la impresión. Entonces es realmente básico y lo hemos hecho antes también. Pero hay que entender cómo se llama y se llama tipo de parámetro requerido. Ahora, el segundo tipo es opcional. Y dentro de opcional, estaremos entendiendo qué es un parámetro opcional particional. Entonces para hacer un parámetro opcional vi, use estos corchetes, corchetes y polaco null significa que este hulk estará en la primera posición, es decir, la cadena 1. Este Iron Man estará en la segunda posición que es nombre también, porque este es el orden como es tonto. Gira aquí, a ver si cambio el orden como aquí Spider-Man. Y no quise decir aquí. Por lo que esto, la salida cambiará, se cambiará porque se decide posicionalmente cuál es raro. ¿Ahora? Ahora bien, si quiero hacer opcional este árbol de nombres, lo es, no lo quiero. Si no es enviar, entonces también está bien. Así. Tenemos que usar este corchete cuadrado. Pero están emitiendo un anuncio porque está escrito. Está mostrando que el nombre del parámetro contacto con un valor de null por su tipo y su tipo es cadena. Entonces en la última versión, Dart ha introducido algo llamado seguridad nula, que simplemente significa que si alguna variable, variable, nuestra función puede devolver un valor que puede ser nulo. En ese caso, en ese caso, hay que declarar ese tipo de datos como nulable. Lo cual se puede hacer con ese signo de interrogación de expresión. que simplemente significa que si tengo esta cadena y solo inserto un signo de interrogación aquí, eso significa que este valor, esta variable también puede contener un nulo. Lo cual en nuestro caso es cierto. Y ahora si corro el programa, ver a Hulk y Spider-Man y nulo porque no hemos pasado un valor. Entonces aquí, este concepto es muy, también muy importante porque cuando le estás pidiendo un valor al usuario, tú, muchos de los lujos pueden ser opcionales. Supongamos qué intereses son, qué edad tienes, o cuánto dinero en el usuario puede o no querer llenar esas granjas. Entonces en ese caso, puedes tener esas variables como opcionales. Y sólo recuerda, esta seguridad nula se introduce recientemente. Entonces si estás viendo algún video para hacer R real, que es supongamos que hace seis meses o un año. Por lo que se atreve este signo de interrogación no se está introduciendo. Por lo que podrías obtener algunos errores. Y aquí abajo se puede ver que las seguredades nulas en porque es predeterminado en Flutter Framework. Entonces yo, este es el tipo de parámetro opcional. Ahora lo tengo, lo he explicado todo aquí. Ahora hecho a continuación se nombra parámetro. Ahora esto es poco interesante. Capa. Sólo estábamos usando parámetros particionales porque hay muy pocos argumentos que estábamos pasando. Pero supongamos que tenemos muchos parámetros de que será muy difícil recordar sus peticiones. Es decir, en la posición unica, su nombre en la segunda posición, su edad, en esa tercera posición, su ciudad. No siempre factible recordar todos esos. Entonces en ese caso usamos parámetros de nombre, y aquí estaremos usando llaves. Aprendimos a usar llaves cuadradas, pero ahora usaremos llaves. Y sencillamente, crearé una nueva función que se llamará gorda. Tercero, está bien, voy a escribir int find volume. Y luego en ese parámetro, simplemente escribiré llaves y luego int length, int, leí, y escribiré Clint y no imprimiré aquí, solo devolveré la longitud al pan. Y si también quiero altura porque es el volumen, declararé un parámetro adder de altura. Ahora podría estar viendo algunas áreas. Te voy a explicar. ¿ Qué es eso? Porque aquí el parámetro se vuelve opcional por defecto. Por lo que tienes que usar seguridad nula dentro de llaves. Entonces en los parámetros de nombre, los valores se convierten en opción y es decir, puede ser nulo. Tenemos que usar seguridad nula, que es muy simple como simplemente usar signo de interrogación, signo interrogación, signo de interrogación. Pero si estás usando la marca de cociente aquí, también mostrará alguna dirección. Porque no podemos hacer cálculo. No podemos hacer este tipo de cálculos aquí si el valor es nulo. Entonces en ese caso, sólo voy a revisar. Intentemos comprobar si la longitud no es igual, longitud igual a nula y el pan igual a nula e igual a nula. Después regresa. Otra vez. Es este tipo de situaciones que te encontrarás mucho mientras programas. Entonces para esta solución, puedes hacer una cosa. O bien. Simplemente puedes hacerlo opcional. Pero lo siento, hazlo un nombre. Pero con la deuda de palabra clave requerida es esta función tiene que devolver un valor porque es un concepto muy simple. Si estamos haciendo algún tipo de cálculo matemático, se tiene que proporcionar el valor. Entonces esa cosa requerida, asegúrate de que se esté enviando el valor . Ahora bien, si llamo a la función como find volume, no puedo simplemente pasar valor como este. Porque es un parámetro de nombre. Tiene nombre propio, el cual podemos ver aquí. La altura puede ser de cinco, coma cinco, y la longitud puede ser de cinco. Entonces si lo notan aquí, ya que no es posicional, puedo llamar al valor en cualquier posición porque primero he llamado altura, pero ahí estaba tierra. Entonces llamo pan. Era de color rojo, pero último era alto. Pero llamo longitud porque es un parámetro de nombre y no tenemos que recordar las posiciones de los argumentos. Y simplemente imprimiré volumen, valor, perdón, volumen, ortografía, volumen. Y correremos a ver 125. Entonces como es un argumento con nombre, d o podemos llamarlo por estos nombres. Y es mucho más fácil porque puede ser nombre, edad, salario. No tenemos que recordar nada. Ahora es el momento de usar la final, cómpralos, sea cual sea ese parámetro predeterminado. Ahora, en el mismo caso, solo eliminaré todo esto y escribiré parámetro predeterminado. En el mismo caso. Si no se requería, si era así. En ese caso, el incumplimiento gana. Si el valor no se está enviando, entonces tendremos este valor. En cambio. Es como la longitud será una. La altura leerá esto, y el pan será de cuatro. Entonces aquí, si se supone que olvidé mandar tierra, entonces también lo hará, la longitud será una. Es decir, hagámoslo también. Por lo que el cálculo se verá claramente dos en 51010 en 550. Ves, no he enviado el parámetro tierra, pero lo fue, ya que ahí estaba por defecto. Y se puede programar , no se estrella. Un buen ejemplo es el perfil blanco. Y también recuerden, podemos usar parámetros posicionales y de nombre ambos al mismo tiempo. Al igual que cadena, host es igual a invitado aquí será el parámetro predeterminado. Y simplemente imprimiré. Taller es realizado por anfitrión. ¿ De acuerdo? Ahora, si llamo a la función, ahora, por favor concéntrate porque el primer parámetro es una posición. Entonces tengo, no puedo simplemente decir trabajo, tienda y esto, No, va a mostrar un adder para apoyar adicional tengo que escribir aleteo. Y el segundo se llama. Por lo que host será supongamos Google. Y ahora ejecutemos el programa. Ver halagado es conducido por Google. Pero supongamos, si olvido o no quiero dar el valor del parámetro de host, entonces no mostrará ningún editor. Y simplemente se inundará se lleva a cabo por invitado. Entonces si ves un ejemplo de Facebook, entenderás que habrá invitados bienvenidos, y después de que inicies sesión, habrá bienvenido tu nombre de usuario. Este es un ejemplo muy básico de usar parámetros predeterminados. Por lo que espero que hayan entendido profundamente ese concepto. Esto es todo lo que se requiere para el concepto de funciones. Entonces en el siguiente video, aprenderemos algunos conceptos más de, oops, eso son clases y objeto. Nos vemos en el siguiente video. 13. Qué son clases y objetos: Bienvenido de nuevo. En esta sesión hablaremos de programación orientada a objetos. Por lo que este concepto está disponible en otro lenguaje de programación como soldado es Java, PHP por 10. Por lo que incluye cómo vemos nuestra cotización o cómo organizamos nuestro código. Objeto significa cualquier objeto que haya en la vida real. Si ves un auto, nuestros alumnos, nuestro libro, puedes ver estos son todos se pueden combinar en sus propias clases respectivas. A ver. Primero lo que quise decir. Voy a quitar todo. Y luego clases y objetos. Este es un tema que estaremos cubriendo hoy. Entonces supongamos que hay un nombre de cadena de datos es igual a delegados B. Simplemente me inspiran. Entonces universidad de cuerdas, puedes ver cómo la Guerra Mundial supongo C una cuerda, ¿de acuerdo? Marcas Int. No tiene sentido darle marcas a Bill Gates. Se supone que lo sé. Esto es que datos de quiere rentar denso. por eso que es posible simplemente escribirlo así y traerlo, imprimirlo uno por uno. Pero ¿y si hay muchos sprints? Por lo que obviamente quieres solo sentarte y escribir cuerda. Nombre dos es igual a elon Musk. De esta manera, porque no tiene ningún sentido. Aquí. Si ves que todos estos se agregan nuestro nombre, las notas universitarias se pueden combinar en una clase llamada Student. Y luego podemos mencionar estas variables son propiedades intrínsecas porque cuando estamos hablando de programación orientada a objetos, las variables se conocen como propiedades y se conocen funciones como métodos. Ambos son iguales justo cuando entra dentro de esa clase. Si su nombre ha cambiado, nada, cuando no tiene ningún sentido para mí por qué lo llamamos así. Pero tú, lo entenderás. No tienes que pensar tanto. Entonces empecemos. ¿ Qué es? ¿Clase? Una clase es un plano. Nuestro destacado común a todos sus objetos. Objeto, vamos a entender de alguna manera. Pero se podría, se puede sólo a partir de la definición solo se puede entender Son las características comunes en los datos de Alda. Por lo que sólo lo hacemos una clase separada. Ejemplo es la clase estudiantil. Todos los alumnos tendrán su DNI y nombre. Todos los alumnos realizan funciones como estudiar y jugar. Para que podamos convertirla en una clase. En clase. Funciones, en clase, lo siento, las funciones se llaman métodos y las variables se llaman propiedades. Como ya comenté antes, que estos son simplemente intercambiables, pero se les llama así. Ahora vamos a crear una nueva clase de ID de estudiante de primera clase, nombre de cadena. Después 30. Supongamos girando y simplemente jugar. Brent, jugando. Entonces ahora lo que pasa es que esta clase tiene que estar fuera de nuestra función principal. Y aquí está mostrando un error porque no hemos mencionado que esta variable será nula o no. Entonces ya que no lo hemos hecho. Asignar cualquier valor lo hará nula seguridad porque si tendríamos un signo como este, entonces es una situación diferente. Pero en este momento no se está asignando ningún valor. Por lo que solo puedes decir si he mencionado esta clase aquí hasta, y a menos que se haya creado un objeto, no almacena ninguna memoria. Por lo que podría estar preguntando, he usado la palabra objeto varias veces. Entonces, ¿qué significa exactamente un objeto? Un objeto es algo que vamos asignar valor, nuestro acceso, todas las variables y métodos definidos en una clase que estas variables en funciones, se puede decir en nuestro ejemplo las variables son ID y nombre, y la función es de 30, y jugar. Por lo que hemos definido eso, esas propiedades, pero obviamente en nuestra aplicación tenemos que hacer algo para hacer uso de la propiedad y atrevernos entrar en juego el concepto de objetos. Entonces nosotros, tuvimos esto durante clase, pero ahora y si queremos entrar es ser así, entonces tenemos que hacer una instancia de la clase. Vamos a probarlo. Simplemente escribiremos un estudiante, uno es igual a estudiante y luego paréntesis, se llama así. Esa es la creación de objetos, se puede decir. Entonces verás que solo podemos estirar para rentar un punto. Y entonces podemos acceder a todo. En primer lugar, asignaré una identificación como una. Y entonces estudiante un nombre de punto es igual a Bill Gates. Ahora bien, si imprimo a estudiante un nombre de punto, y si imprimí arriba, es cuando no hemos asignado. Veamos la salida. Ver primero es nulo porque no hemos asignado el valor. Pero luego después puedes ver si escribimos como este punto y luego accedemos a esa propiedad, entonces podemos asignar esa propiedad de valor. Y si quieres acceder a la función, puedes decir directamente estudiante 130. Ver. Ahora va a mostrar estudiar y me limitaré a quitar esto. ¿ De acuerdo? Este es un objeto. Es decir, éste es uno. Ahora si quieres, solo puedes crear múltiples cadenas como esta para rentar a objeto. Nuevamente, objeto. Y luego estudiante a punto ID es igual a dos. Entonces ahora podrías estar pensando o simplemente puedes ver esta asignación de valor es poco poco no limpia, puedes decir porque tenemos que hacer dot this.name. Tendemos a escribirlo una y otra vez. Entonces para abordar o para resolver esa cosa, el concepto de constructores vivos. Entonces ya sabes, otra vez preguntarás, ¿qué son los constructores? Esto es de nuevo, un concepto de programación orientada a objetos. Los constructores son igual que las funciones dentro de una clase, que se ejecutarán antes de ejecutar cualquier otro código en esa clase. Con independencia de la posición, voy a explicar como cualquier otro método tiene que ser llamado. Pero aunque no llamemos al constructor, automáticamente se ejecutará. Es quien podría estar pensando lo que está pasando. ¿ Qué es exactamente un constructor? En primer lugar, simplemente te enseñaré a definir un constructor. Se declara un constructor escribiendo el nombre de la clase. Paréntesis, el nombre de la clase es estudiante, y este paréntesis es así. ¿ De acuerdo? Entonces este es un constructor. Y cuando mencioné que se ejecutará primero independientemente de su posicionalidad, Si escribo en el disco construido en el último también ahora, entonces lo contrario, primero de caída cuando creemos un objeto, esta se llamará y solo puedes ver estos y estos son básicamente ahorrar dinero por sus looks o puedes comprar cómo está escrito. Ambos son iguales. Y la segunda característica estructura africana es que un constructor es como una función I, como dije, pero no tiene ninguna pierna este tipo de retorno. No devuelven nada. Simplemente puede ejecutar. Dentro de esta clase de lo que hacemos la mayor parte del tiempo es asignarle un valor. Y primero de solo mostraré un constructor y solo escribiré impresión. Este es un constructor. Y perdón por el punto y coma. Y volveré a crear una clase. Y ahora ves que el código está escrito de arriba a abajo. Pero antes que nada, esto se imprimirá a partir de ahí solo se puede entender que lo construido se ejecuta desde el principio mismo. Ver esto es un construido entonces Bill Gates y luego estudiar. Entonces este es el, este es el significado de un constructor. Sólo recuerda que es el mismo nombre que el nombre de la clase y no devuelven nada. Tú, ahora me lo vas a preguntar. Entonces k, he entendido al constructor, pero ¿de qué sirve? Por lo que mayormente tenemos ante EU, debemos saber qué es un constructor parametrizado. Al igual que en una función normal, cómo enviamos parámetro o cómo enviamos argumentos. De la misma manera. Tenemos que enviar un parámetro a un constructor de discos. Y entonces se asignará ese parámetro. Es decir, el valor se asignará a la variable presente en esa clase. Simplemente, aquí, lo estábamos asignando así, pero ahora en adelante, simplemente lo enviaremos. Y luego se asignará como el, like, Vamos a escribir los parámetros al principio, int id y luego nombre de cadena. ¿ De acuerdo? Y entonces lo primero será este punto ID es igual a lo voy a nombrar ID de estudiante. Simplemente también, sólo para que los nombres sean diferentes. Y este será nombre de estudiante. Este nombre de punto es igual a 210 nombre. Ahora, viendo ahora que tenemos, es obligatorio enviar eso al valor. El primero será, supongo que primero es id y segundo es nombre. Ahora no tengo que mencionar aquí. Y si vuelvo a correr, verás lo mismo. Porque si quieres chequear, te enviaré un 100. Y luego revisemos el DNI. Tan ID, por lo que esta clase estudiantil ahora puede asignar un valor. Este concepto se utilizará mucho tiempo mientras se construye una aplicación amarilla usando aleteo. Siguiente ejemplo, se puede simplemente ver si var estudiante a ella tan fácil ahora para crear objetos fue escrito para entonces 99. Y luego Mark chupador berg. Y entonces voy a decir sólo estudiante a punto nombre. Simplemente verás, mira, se trata de un construido dos veces. Se llama porque estamos creando dos objetos. Esa es la razón principal. Por lo que espero que hayan entendido el concepto de clases, objetos, y construido. Simplemente hay que entender esto mucho más V. Ya veremos dónde se está utilizando cuando estemos en la sesión de aleteo. Entonces eso es todo por hoy. Gracias. 14. Tipo genérico y herencia: Ahora vamos a discutir sobre el siguiente tema, que es lo que nuestras colecciones de tipos genéricos en que son heterogéneas por defecto. Eso significa que las colecciones como el mapa de listas pueden contener múltiples valores de diferentes tipos. Sólo por ejemplo. Nuevamente, me gustaría eliminar todo esto para que podamos entender este concepto. Tipo genérico. Por lo general lo que pasa es si tenemos una lista de, se puede decir usuario, entonces esta lista puede tener primera cadena, eso es marca. Entonces los segundos datos pueden ser en profesor. Y tercer dato puede ser booleano. Se puede decir verdad. ¿ De acuerdo? Entonces lo que pasó es que estamos usando, estamos entrando múltiples tipos de datos en lista de deudas, lo cual está bien si eso es requerido por esa función en particular, se puede decir una tarea en particular. El concepto de genética puede ser utilizado para lograr un rigor estrictamente en los tipos de datos. Es decir, si mencionamos que este usuario va a deslistar, lista de usuarios solo contendrá cadenas, entonces, entonces se asegura de que no haya ningún error. Vital, estamos construyendo esa aplicación porque no queremos que el usuario, la persona que está usando nuestra aplicación simplemente inserte lo que mueran que quería a nuestras variables porque mostrará un error si cualquier persona intenta asignar un valor diferente en ese entorno. Y un tipo genérico se declara simplemente usando menos que, mayor que. Eso es aquí. Lista, luego cadena. Significa que esta lista solo contendrá cadena. Ahora tengo que escribir. Y luego jeff, mira, ahora se ha ido el error porque estamos haciendo lo que se está mencionando en nuestro programa. De igual manera, si queremos, solo podemos usar menos tinta. Marcas es igual a 33, 44, 55. Si traté de antenas string, mostrará un error porque la cadena de tipo de elemento podemos asignar a ese tipo de lista entero? Por lo que es muy conveniente en muchas ocasiones. Y también hemos discutido lista, pero ¿y si hay un mapa? Porque el mapa usa para ser como nombre de cadena, entonces un valor. ¿ Supongamos quién más queda? Yo era igual que Tom. Y luego dejaremos 22 fin de semana reconocible si es normal que no hayamos mencionado ningún tipo. Pero si quieres restringirlo, entonces solo podemos escribir string será la clave la mayor parte del tiempo obviamente. Y luego un valor, valor sólo será cadena. En ese caso, este árbol 20 mostrará un adder. Tenemos que dar una cuerda. Es decir, supongamos edad, legis adultos. Sólo estoy dando un ejemplo. De la misma forma hemos utilizado Enlist y map. La genética se puede utilizar para cualquier cosa como objeto de función de vidrio. Podrías preguntarme cómo funciona eso. Si hay una función, simplemente no estoy recibiendo un ejemplo en este momento. Pero supongamos, si hay una cadena de función. Lista, nombre de función será lo que sea. Dar, agregar los datos. Entonces es, es el tipo de regreso paga una lista. Pero ¿y si acabamos de mencionar lista de enteros aquí? Por lo que este retorno sólo debe contener enteros como este. Por lo que en mientras venue verá el verdadero código flutter de replicación plana, verá este tipo genérico mucho tiempo. Ahora, nuestro siguiente concepto es sobre accesibilidad, que simplemente significa generalmente si vienes de otro lenguaje de programación, debes conocer el concepto de público y privado. Las propiedades son variables o cualquier función. Por defecto, todas las variables y funciones son públicas y accesibles para el objeto semanalmente, supongamos que hay una clase. Estudiante. La clase de estudio debería ser así. Por lo que este int id 2 es accesible por su objeto, como estudiante one dot ID. Pero si queremos convertirla en una deuda privada significa en lo iniluminado Dentro de esta clase, se accederá a estos datos no fuera. Entonces en ese caso, si tú, si puedes ver esto aquí, es el tema de, se puede decir normalmente, este es el tema del dot pad, pero intentemos imprimir porque en VS Code aquí si es capaz de ver ese DNI. Pero cuando usaremos un lenguaje de programación real, puedes ver cuando estamos trabajando en VS Code, esto no sucederá porque siempre que hagamos cualquier propiedad dentro de nuestra clase, propiedad privada, no será acceso por sus objetos. Entonces mi TED es simplemente usar subrayado antes del nombre de la variable. Es así como lo hacemos privado. Y se podría pensar, no, no está funcionando aquí, pero esto no es cierto. Esto es en algún número de trackpad, que se resolverá cuando estemos usando cualquier editor de texto. Pero ahora mismo, el único enfoque debe ser entender el concepto. Entonces sí, hemos hecho esta porción que está controlando la accesibilidad, lo que simplemente significa cómo hacer una función R variable sea privada dentro de la clase. Entonces el próximo concepto estaremos entendiendo es ¿qué es la herencia? Este es otro concepto en la programación orientada a objetos. Entonces supongamos que tenemos dos clase. Apenas se puede ver esa diapositiva. Hay dos clases, perro y gato. Dentro de los dos datos de gafas algunas propiedades son algunos métodos que son comunes. Podemos decir primero es color y el segundo es comer. Entonces si solo hay una o dos ventajas, entonces es AKI. Pero, ¿qué pasa si tenemos clases múltiples? Y esas clases también tiene esa función que también es gato y perro. ¿ De acuerdo? Pero ¿y si hay algún pájaro de pierna? Entonces esos también tendrán un colorante en función Comer. Entonces en ese caso, sólo podemos hacer una, podemos simplemente hacer una, otra clase que será la clase padre. Simplemente puedes enviar. Esa clase, puede extenderse o puede ser copiada por sus clases inferiores. Por lo que sólo se puede ver semana, vamos a hacer una clase separada y poner esas características comunes. Hagámoslo e intentémoslo. Sí, ¿verdad? En concepto pesado, denso. En primer lugar, escribiré la clase de padres como animal. Y entonces tendrá cuerda, color y vacío. Vacío. Significa que esto es una función. Ahora vamos a ver, tengo una clase de col, de etiqueta de nombre y tendrá una propiedad de raza String. Y segundo, tendrá amplia por propiedad. Hagámoslo nulo. Ahora, ¿qué pasa si creo un objeto de perro? Perro es igual a perro así. Y luego si traté de acceder a dog dot, solo mostrará raza y parque. Pero ¿y si también queremos ese color? En este caso, viene el concepto de herencia. Ahora simplemente tenemos que clase extiende animal. ¿De acuerdo? Esta palabra clave extiende se utiliza cuando estamos heredando. Entonces ahora si escribo doc dot c v, se puede ver el color también y comer también. Y si quieres, podemos simplemente llamar directamente a la función de TI como comer impresiones. Y ahora R1, C, Se puede ver comer. Por lo que aquí perro se llama la clase infantil, y a este animal se le llama clase de padres. Y esta clase está heredando de esta clase animal, heredando las mentas, estas propiedades y métodos. Se puede utilizar dentro de esta clase también. Entonces es bueno. Y esta extensión se utilizará en Flutter. No he usado tanto porque en Florida todo, ya se están extendiendo. Internamente. Sólo tenemos que escribir la palabra clave y eso es todo. Nosotros, es muy raro que creemos nuestras propias clases y las heredemos. Simplemente depende de tu uso. Dicho eso. Entonces espero que hayas entendido el concepto de herencia y luego cómo hacer privada una variable como Lex simplemente este subrayado. Y ese tipo genérico. El tipo genérico se utiliza principalmente con lista, mapa y edición. Por lo que las deudas en por la porción orientada a objetos del lenguaje oscuro. 15. Manejo de excepciones con Try Catch: En esta sesión estaremos hablando del manejo de excepciones. Entonces si estás dispuesto alguna aplicación, definitivamente habrá momentos que te encontraras con algunos errores. Son esos errores en el lenguaje de programación, se llama excepción. Por lo que solo puedes ver la definición aquí. Cuando un programa termina abruptamente o tiene un error, esta situación se conoce como una excepción. Entonces definitivamente todo el mundo sabe que habrá un error, por lo que es mejor manejarlo en consecuencia para que nuestra aplicación no se bloquee. Ahora bien, ¿qué es este try catch block? Por lo que sólo por el nombre, lo puedes entender. Primero, Probemos este bloque de código. Y si hay algún agregado, entonces capta el error y haz algo con él. Por lo que este es el significado de esta afirmación. De acuerdo, ahora, intentémoslo en nuestra almohadilla oscura porque obviamente, es bueno si hacemos eso. Ahora. Y está teniendo una nueva variable del año 2021. Y luego int 0 es igual a 0. Entonces espero que sepan que los números no se pueden dividir por 0. Entonces si solo decimos int resultado es igual a IR dividido por 0, entonces en la actualidad, mostrará infinidad, pero lo haré. ¿ De acuerdo? Ahora ver nuestro tipo de doble se puede asignar a una variable de tipo int. Porque cuando nos estamos dividiendo así, ese resultado vendrá en un punto decimal. Para evitar eso, usaremos este símbolo. ¿ Hace qué? Simplemente obtiene el primer valor y se elimina la porción decimal. Ahora, si lo ejecuto en la consola, obtendrá este error aquí y admitirá error no capturado, operación no compatible. Por lo que puedes ver ya se menciona aquí que es una edición sin cortar. Por lo que ahora para resolver esto, vamos a utilizar que un try catch block. Y está escrito así. El primer intento y atrapar es una función. Y este E, Los vamos a atrapar. O se puede decir que se almacenará en esta variable e, para que podamos usar y predecir. Ahora, vamos a probar esto y traerte aquí. ¿ De acuerdo? Y vamos justo a la derecha. Ahora, primero escribiré la excepción manejada, luego E, eso es cualquiera que sea la excepción que esté ahí. Por lo que una luz era de color rojo. Ahora mira, es una impresora normal, impresión, no una excepción. Es como una excepción manejada y luego una operación sin soporte. Entonces este es el camino, ¿cómo tomaría código? Por ejemplo, así como tú, en ese try-catch, hay alguna llamada a base de datos. Y obviamente habrá momentos que supongan que el servidor tiene algún asunto, Internet no está funcionando. En ese caso, vamos a atrapar el adder y mostrar algún tipo de cuadro de diálogo están alerta al usuario respecto a ese mismo en lugar de que nuestra aplicación se bloquea, se bloquea, y este será un muy mala experiencia al usuario. Para que se pueda ver desde la diapositiva, así es como manejamos una excepción. Otro ejemplo de excepción puede ser tener una lista. Entonces supongamos que tenemos una lista de marcas y contendrá 30 ángulo cualquier semisólido, ¿de acuerdo? Contendrá tres valle. Por lo que el índice comenzará a partir de 0 y terminó 12. Entonces, ¿qué pasará? Si tratamos de imprimir marcas árbol, que no está ahí en la lista. Por lo que definitivamente debe mostrar un error, pero el error se maneja. Y C, error de rango, índice fuera de rango. El índice debe ser menor a tres. Y si escribo dos, entonces simplemente imprimirá suma D7 y este bloque catch, obviamente ya que no hay error, Este teléfono se ejecutará. Por lo que espero que hayas entendido el concepto de manejo de excepciones usando try-catch cuando estarás trabajando en una tercera aplicación. Este bloque try and catch se utilizará intensamente porque nos aseguraremos de que no haya error o no, no debería ocurrir ninguna situación donde el usuario moleste y desinstale nuestra aplicación. Para, vale, más de esto aprenderemos en la sección inundada. Eso es todo. 16. Variables y métodos estáticos: Entonces en esta sesión entenderemos qué hace las variables estáticas y los métodos estáticos. Entonces si te enteraste de esta estática y las cosas, así es de nuevo el concepto de programación orientada a objetos. Y tengamos una clase de alumnos. Entonces ahora estoy hablando de propiedades estáticas. Entonces solo recuerda las variables de instancia también. lo que variable instancia de agua, Si mencionamos como int Marx es igual a 0. Esta es una variable de instancia. ¿ De acuerdo? Y simplemente, si quiero declarar una variable estática, simplemente escribiré esa palabra clave. Y entonces qué debo escribir? El usuario tiene marcas. Simplemente escribiré partitura. Sí, Sólo por ejemplo. Esta es esa variable tick. Esta variable estática, simplemente endulzando palabra clave estática, se convierte en una variable estática. Entonces podrías estar pensando, ¿cuál es la diferencia? Acabaremos de llegar a eso en un rato. Ahora vamos a tener una función que es método también. Amplia. En Grecia, Marx, sólo debería marcar punto y coma más plus y decir, sólo diré vacío, aumentar puntuación, y derecha, anotar más, más. Esa es nuestra variable de instancia. Simplemente voy a quitar todo esto. Ahora. Para acceder a una variable de instancia, tenemos que crear un objeto. Por lo que ya lo hemos hecho antes. Guerra. Nombre de cadena es igual a, este es un objeto. Y después de eso, si escribo impresión y quiero imprimir marcas, entonces simplemente estudiaré Marcas de un punto. Y esta convocatoria, sólo lo haré a partir de las diez y sólo diré más 10, que sólo se incrementará menos de 10, para que no nos confundamos. Ahora. De acuerdo, si corro ahora, se imprimirá 0. ¿ Qué, qué, y si quiero imprimir el marcador? Entonces intentemos con objeto. Creamos estudiante un punto c. Si escribo punto, entonces la puntuación no será accesible. No es accesible porque es valor estético. Propiedad estática. Para acceder a eso, tenemos hacerlo directamente desde el nombre de la clase que es estudiante, es ese nombre de clase entonces punto Densa core C. Así que eso es enfoque diferente o un concepto diferente. Hay que recordar que si queremos acceder a la variable de instancia, entonces tenemos que hacer un objeto primero. Pero si tenemos una variable estática, entonces no tenemos que crear ningún objeto a esa clase directamente. Podemos acceder al valor. ¿ De acuerdo? Si has entendido hasta ahora. Ahora bien, me gustaría hacer lo que me gustaría acceder a un final un punto en Grecia, Marx. Y voy a leer estudiante aumento de un punto. Entonces es Turín ortografía mal. Estudiante un punto aumentar núcleo. ¿ De acuerdo? Y entonces otra vez, sólo pondré aquí nuestros valores. Pero espero que sepan cuál será la respuesta. Serán entonces 12 efectivamente, aquí abajo, 120. ¿De acuerdo? Ahora, hagamos una cosa. Crearemos otro objeto. Var estudiante dos es igual a. Estudiante, De acuerdo, tenemos un nuevo objeto. Entonces si escribo estudiante de impresión a puntos marcas. Y luego para luego hacer, voy a hacer aumento puntaje. De acuerdo, esa es la variable estática, pero lo estoy haciendo con el segundo objeto. Entonces en tu mente, podrías pensar, ahora si vuelvo a imprimir, si vuelvo a imprimir, hace eso representar a un Phi, ahora estamos en cosa estática. Entonces se dispara solo tener este marcador es de 10. Y luego otra vez a efecto, porque es un nuevo objeto, Vamos a correr. Pero sólo verás la diferencia aquí. Ver esto marca estudiante a que Marx es 0. Pero este puntaje de puntos estudiantiles es continuación. Es decir, desde el primer objeto hicimos algunos cambios desde el segundo mundo de objetos, también lo hizo alguna variable estática tenuto. Pero todo ese año depurado serán objetos diferentes, pero se verá el valor. Pero en caso de una variable de instancia , volverá a empezar desde 0. Entonces esa es la principal diferencia entre la variable de instancia estática. Deuda es variable de instancia se llamará o se iniciará varias veces, pero su valor estático se inicializará a uno. Entonces después de que se obtengan los mismos datos de la memoria, al menos vivirá la memoria eficiente porque la mayoría de las veces sabemos recolectan algunos datos que no se cambiarán en esa clase. Supongamos que hay un estudiante, entonces el nombre de la universidad supongamos que no va a cambiar, son, supongamos que hay un banco de clase bancaria. Ese nombre del banco son algo que es único y no va a cambiar. Entonces lo que hacemos, quizá no queramos usar el recuerdo de crearlo una y otra vez. En ese caso usamos la palabra clave estática. Espero que hayas entendido que es solo la diferencia que una variable de instancia consuma más memoria porque EBIT cada objeto, se inicializa desde 0, es decir desde el principio. Pero la estática que simplemente nos vamos a hacer grande continuó. Se continuará el mismo valor. Ahora, has entendido propiedades estáticas que estas t's. Ahora es hora de que entiendas la estática. Bueno, lo que se llama el método, simplemente escribe la palabra clave estática antes de un método. Eso es todo. Pero si lo haces estático, definitivamente no será accesible a través del objeto. Entonces no voy a sugerir cambiar esto, pero sólo voy a tener estática, vacío, cadena, retorno universitario. Está bien. Ahora para acceder a eso, simplemente tenemos que leer universidad de estudiantes impresos así. Entonces sólo recuerda, esto no es un objeto. Estamos accediendo directamente a ella a través de su nombre de clase. Objeto es este. Y esto. Estos dos son objetos que sólo pueden acceder directamente a la variable de instancia o a la instancia. Mis hijos. Simplemente lo escribiré aquí. Es método de instancia. Esta es instancia mi tiempo, pero este es método estático. Entonces esto es, esta era la lógica detrás de las palabras clave estáticas decimales y de instancia. Espero que hayan entendido y disfrutado hasta ahora. Ahora, estamos a punto de terminar nuestro curso. Y después de eso, nos sumergiremos directamente a fondo en Flutter. 17. Operador ternario y seguridad: Ahora por último, sólo quedan unos pocos conceptos , son duros ellos. El primer concepto se llama operadores ternarios. Por lo que sólo escribiré operador ternario. Entonces se podría preguntar, ¿qué es un operador ternario? No es más que en evadir escribir si else declaración. Por lo que sólo sabes escribir difiere este si. Y luego aquí tan sencillamente como esto. Supongamos que tengo un valor int edad es igual a 25. A aquí. Simplemente escribiré si la edad es 18 años, imprimir permitido, supongamos. Y luego si no, no se permite imprimir. ¿ De acuerdo? Entonces esta es nuestra declaración normal si else a usted podría estar preguntando ¿qué es un retorno tornado? Por lo que los operadores ternarios están acostumbrados a simplemente dispersar ese código que escribimos o simplemente para asegurarnos de que esté muy limpio. Cuando lo escribimos. No, no es como si no estuviera tomando demasiado espacio. Es sólo la edad correcta. Mayor a 18. Si es cierto, entonces imprimir. Sí. Else imprimir. No. Mira, este es el operador ternario. L es francés aquí de nuevo, esto, y luego este ejecutar Programa de Género. Y ver tenemos la salida, sí. Por lo que el operador ternario es una forma de escribir la declaración if-else. Y sí, lo estarás usando mucho tiempo porque solo puedes ver la diferencia. Figura ojos propios. Eso es sólo una línea de código. Antes tenemos dos raíces, tantos código para hacer lo mismo. Por lo que acaba de escribir como la condición entonces el mapa cociente. Es decir, si la condición es cierta, entonces lo que tenemos que hacer, y con esta columna, significa que si esta condición no es cierta, entonces lo que tenemos que hacer, simple como eso. Ahora, este operador ternario ha terminado, el concepto ha terminado. Después de eso. Nuestro concepto final e importante es la seguridad nula. Anteriormente también has usado esta seguridad nula, si recuerdas, era la marca cociente en ese cualquiera de los dos tipos, lo que significa que también puedes contener nulo. Esta seguridad nula se introdujo muy recientemente. Entonces si vuelves atrás, seis meses atrás, o al inicio de finales de 2020, puedes decir que no vas a estar escuchando o no vas a estar usando estas notas seguridad porque no estaba en modo de producción. Sucedió el mes de marzo de 2021. Se introdujo oficialmente el concepto de seguridad nula. Cuando declaramos cualquier variable, puede contener valor o puede dejarse nulo por defecto. Esto puede crear errores cuando estamos en eso. Por eso se introdujo el concepto de seguridad nula. Ahora cuando declaramos alguna variable, se asume que no será nula a menos que declemos usando cierta palabra clave, que discutiremos más adelante. Ahora ya se activó la seguridad. Ver aquí, bajadas. Ya se activó aquí. Y en aleteo, está encendido por defecto, así que tú, no tienes otra opción de quitar. Entonces lo que se introdujo en el concepto de seguridad nula aquí con algunas palabras clave u operadores nuevos. En primer lugar, este signo de interrogación, que hemos utilizado antes. Lo usamos para denotar la variable puede continuar. El valor real también puede ser nulo. En esto, en este caso, ya sabemos que el valor puede ser nulo y lo manejaremos en consecuencia. No habrá margen para ninguna excepción desconocida, edite tanque integrand. Porque conduzco a como Lake, había una variable, supongamos cadena que contendrá un ID de usuario. Y si eso es nulo, entonces será un montón de problemas porque no podremos buscar ninguna información de nuestra base de datos sin el ID de usuario. Vamos a escribirlo. Escribamos si este amigo de cuerdas es igual a Elon Musk, ¿de acuerdo? Entonces, entonces no está mostrando ningún error. Pero, ¿qué pasará si escribimos si string es nulo? Ahora esto mostrará un error porque no podemos asignar un valor a una cadena. Pero si nosotros, si sabemos que este valor puede ser nulo, entonces tenemos que usar este operador. Ahora bien, no hay un tema. Yo entonces esta variable amigo será nulo. Esta variable de amigo contendrá una cadena como esta. Por lo que este es el uso de la palabra clave mark cociente. Hagámoslo. Hagamos algo más. Supongamos que tenemos un amigo conjunto de funciones. Contendrá un nombre y no lo hará, aceptará un nombre. Y solo diremos nombre dot ToupperCase. Y aquí llamaremos a esta función. Vamos a correr. Yo sólo lo hice. Ahora vamos a correr. Obviamente. Esa función no lo era, se escribió a continuación, por lo que estaba mostrando un adder. Ahora bien, ¿qué pasará si tratamos de enviar un valor nulo? En este caso? Ahora mostrará un error porque nulo no se puede enviar a una cadena. Pero si lo hacemos nula seguridad, esta área se irá, pero el error estará aquí porque si es nulo, entonces cómo se ejecutará esta función. Porque estamos viendo que la variable num name será nula. Pero de nuevo, se agregará ya que tenemos algún tipo de función. Para hacer frente a eso. Tenemos que checar aquí. Si nombre es igual a null, entonces aquí solo devolveré la función y no ejecutaré a continuación. Entonces ahora esta es una forma adecuada de comprobar si el valor es nulo o no. Por lo que este concepto es muy importante. Y hay otra palabra clave que comprobar. Si un valor es nulo, R naught, que es esta palabra clave, marca cociente y punto, que vamos a utilizar. Ahora, vamos a ver. Ver nulo. Entonces es comprobar si este nombre es nulo o no. Si es nulo, entonces solo sprint out null son, si es un nombre que es Bill Gates, entonces ¿qué pasará? Ejecutará la función. Esta es una mejor manera de simplemente comprobar el nulo. Nulo. Lo que dices, si alguna variable es nula o no. Después de eso, se requiere la siguiente palabra clave. Esto es un, esto es un cambio que se está haciendo en ese código. Si recuerdas cómo, qué, dónde, nombre, argumentos. Simplemente le gustará esto y solo diga nombre de cadena e imprima su nombre. Mostrará un error porque el nombre puede ser valor, puede ser nulo. Entonces o bien tenemos que usar este signo de interrogación. Para resolver esto. ¿ Tenemos simplemente escribimos palabra clave requerida aquí. Sí, esta palabra clave, que simplemente significa que tenemos que enviar un valor. No podemos simplemente enviarlo a esta función. Por lo que la deuda es la palabra clave requerida por el usuario mayormente en ese tiempo jurar los valores pueden ser opcionales. Eso es en nombre parámetro r Si no quieres escribir, no quieren escribir requieren, entonces lo otro es solo para dar un valor predeterminado que se supone invitado, así y será igual. Por lo que este es un valor por defecto. Si el nombre de la cadena está conteniendo null, solo iré a probar mi nombre y enviaré aquí. Perdón, debe ser por lo menos cadena. Si no estoy enviando nada, entonces será nombre. Porque no estoy diciendo que va a ser nulo por lo podemos hacer opcional. Y si escribo P aprendo máscara, entonces ¿qué pasará? Es, ya que es un argumento de nombre, debería ser así. Valor C estamos programando. Tenemos que simplemente asegurarnos de que no hacemos todo este tipo de errores. Hay que recordar la diferencia entre una variable de nombre, parámetro de nombre y un parámetro posicional. Entonces espero que hayan entendido un poco sobre lo de la seguridad porque este concepto es muy importante. Después de eso, entonces siguiente palabra clave, que es esta exclamación para decirle al compilador que estamos muy seguros de que no serás nulo. Estamos seguros de que la variable siempre tendrá un valor. Entonces solo usaremos esta palabra clave. Probémoslo por nuestra cuenta. Ahora, supongamos que tenemos esta cosa. Nuevo nombre, variable que puede ser nulo. Tenemos justo aquí. Y qué pasará si les envío esta cadena, mi función de nombre, que también acepta un parámetro de nombre, que es una cadena. Si solo escribo nuevo nombre, aquí, verás que mostrará un error porque estamos enviando una cadena que es una cadena que es nula a una cadena. Pero, ¿qué pasará si sólo guardamos aquí una exclamación? Lo que significa que estamos muy seguros de que esto está teniendo un valor. Entonces para asegurarnos de que tenemos algo, están muy seguros de que no serás nulo en el futuro. También, utilizamos esta exclamación. Pero recuerden esta exclamación es algo muy complicado. Porque si nos equivocamos con lo nuestro, retirar deuda significa si estás diciendo que el valor no será nulo, y si el valor es nulo, entonces tendremos este tipo de errores en nuestro aplicación, lo cual no es bueno. Por lo que podría estar pensando que es demasiado digerir, pero solo tener algunos pacientes porque definitivamente. Cuando estemos en el curso de aleteo, entenderemos muy claramente todos estos conceptos. Por lo que hemos entendido palabras clave como signo de interrogación, exclamación, luego la palabra clave requerida. Ahora entonces último cambio es la palabra clave tardía. Es muy sencillo. Esta palabra clave se utiliza cuando se nos asegura que inicializaremos el valor de esa variable más adelante. que significa, pase lo que pase, cuando se cree el objeto de esa clase, inicializaremos nuestro v, aseguraremos de que esa variable no sea nula. Entonces solo recuerda si dejas que se olvide a un remitente válido a una cadena o una variable, mostrará error. Entonces si tienes una clase de alumnos, solo podemos escribir tardío int id, así, tardío, lo siento nombre de cadena. Y esto significa que se imprimirá esta identificación. No se dejará nulo a saudita, pase lo que pase. Entonces si tenemos función id de impresión, derecha, Pero int id. Entonces está bien. No mostrará ninguna época, pero si quitamos el botón tardío, ver, entonces lo hará entonces DID es un error porque está mostrando que primero, por favor ten un valor aquí como do tree, así. Pero usando la palabra clave let, podemos quitar este editor y simplemente decirle al compilador que no toma tanto estrés. Sabemos que esta variable es importante y nos aseguraremos de que tenga un valor al final de la creación del objeto. Entonces eso es todo. Estos fueron el concepto de seguridad nula. Y de esta manera, este fue el tema final del curso oscuro como sudor. Si siento que si tengo que agregar algo en el futuro, definitivamente lo agregaré. Pero ahora mismo estamos bien para ir directamente al curso de aleteo. Gracias.