1 00:00:00,510 --> 00:00:01,290 ‫Bienvenido de nuevo. 2 00:00:01,320 --> 00:00:08,460 ‫En este video, vamos a hablar sobre struts y struts son muy similares a las clases, pero las clases, todos los tipos 3 00:00:08,460 --> 00:00:14,190 ‫de referencia y estructuras son tipos valorados, lo que significa que si creas un objeto de una 4 00:00:14,460 --> 00:00:16,350 ‫clase, no puede contener nada. 5 00:00:16,350 --> 00:00:19,590 ‫Por lo tanto, puede estar vacío, pero una estructura debe tener un valor. 6 00:00:20,040 --> 00:00:21,770 ‫Ahí es donde la estructura se llama juego. 7 00:00:21,780 --> 00:00:25,970 ‫Entonces usa la palabra clave struct y luego le da un nombre. 8 00:00:26,340 --> 00:00:29,310 ‫Entonces es muy similar a un salón de clases y lo que puedes ver. 9 00:00:29,320 --> 00:00:33,690 ‫Entonces tiene este nombre aquí y luego puede continuar y crear variables aquí. 10 00:00:33,690 --> 00:00:35,880 ‫Así que voy a crear uno que se llame nombre. 11 00:00:36,240 --> 00:00:44,460 ‫Luego, voy a crear uno que se llame desarrollador y uno que sea calificación. 12 00:00:44,880 --> 00:00:50,990 ‫Entonces, ¿cómo se califica este juego y luego la fecha de lanzamiento pública de la cadena? 13 00:00:51,000 --> 00:00:52,260 ‫Entonces, ¿cuándo fue lanzado? 14 00:00:52,770 --> 00:00:54,390 ‫Entonces esa es una estructura simple. 15 00:00:54,390 --> 00:01:02,460 ‫Ahora podemos seguir adelante y crear un objeto de esa estructura para poder seguir adelante y decir, OK, 16 00:01:02,460 --> 00:01:04,560 ‫juego uno como ese. 17 00:01:04,590 --> 00:01:11,900 ‫Así que ahora tenemos este juego, pero para poder usar ese juego, necesitamos seguir adelante y especificarlo. 18 00:01:11,910 --> 00:01:18,150 ‫Entonces necesitamos la especificación del juego uno, por ejemplo, necesitamos establecer el nombre y digamos que 19 00:01:18,150 --> 00:01:23,460 ‫era el objetivo de Puckerman, luego el juego uno necesita tener un desarrollador. 20 00:01:24,810 --> 00:01:27,330 ‫Entonces vamos a decir algo como 21 00:01:29,790 --> 00:01:39,150 ‫Niantic y luego el juego uno debe tener una calificación, digamos que fue tres punto cinco de cinco estrellas y finalmente la fecha 22 00:01:39,150 --> 00:01:40,170 ‫de lanzamiento. 23 00:01:40,860 --> 00:01:43,790 ‫Entonces, simplemente puede establecer los valores de esa manera. 24 00:01:43,800 --> 00:01:47,930 ‫Entonces es muy similar a lo que harías con una clase, ¿verdad? 25 00:01:48,600 --> 00:01:51,330 ‫Entonces fue lanzado el veintiséis. 26 00:01:52,080 --> 00:01:55,800 ‫Y esa es nuestra estructura de juego que tenemos aquí. 27 00:01:55,830 --> 00:02:00,390 ‫Ahora podemos seguir adelante y escribir información del juego en la consola. 28 00:02:00,660 --> 00:02:03,630 ‫Digamos que queremos escribir el nombre del juego. 29 00:02:03,630 --> 00:02:07,320 ‫Entonces S. W. Juego uno. 30 00:02:09,900 --> 00:02:22,410 ‫Y SNAME es y luego llaves, cero y ganar pensamiento, nombrar todos en realidad el juego uno, ese nombre. 31 00:02:23,610 --> 00:02:29,470 ‫Entonces, como puede ver, simplemente puede seguir adelante y llamar a sus variables para que podamos hacer lo mismo, no 32 00:02:29,490 --> 00:02:30,870 ‫solo con un nombre. 33 00:02:30,870 --> 00:02:33,270 ‫Podemos hacer eso con todo lo demás. 34 00:02:33,350 --> 00:02:34,680 ‫Solo voy a copiar eso. 35 00:02:35,010 --> 00:02:43,290 ‫El primer juego fue desarrollado por y ahora no es el nombre del juego, pero es el desarrollador. 36 00:02:44,130 --> 00:02:52,650 ‫Y la misma calificación aquí es la calificación del juego. 37 00:02:53,630 --> 00:03:05,810 ‫Y aquí está la clasificación y, finalmente, el juego uno se lanzó en el juego uno, incluido en la lista gratuita. 38 00:03:08,310 --> 00:03:16,890 ‫Ahora, ejecutémoslo, consolémoslo, leamos la clave y veamos qué está sucediendo. 39 00:03:18,780 --> 00:03:25,410 ‫Y el nombre de nuestro juego es Pokemon Go. El juego uno fue desarrollado por Niantic con una calificación de tres 40 00:03:25,410 --> 00:03:28,970 ‫coma cinco y se lanzó el 1 de julio de 2016. 41 00:03:29,250 --> 00:03:29,700 ‫Está bien. 42 00:03:29,820 --> 00:03:35,070 ‫Así que somos, es muy básico y muy similar a una clase. 43 00:03:35,070 --> 00:03:35,400 ‫Derecha. 44 00:03:36,690 --> 00:03:37,800 ‫Entonces, ¿en qué se diferencia? 45 00:03:38,100 --> 00:03:40,350 ‫Bueno, hay una cosa más en la que no difiere. 46 00:03:40,950 --> 00:03:47,130 ‫Así que voy a crear una visualización vacía pública, que debería mostrar información. 47 00:03:47,370 --> 00:03:51,960 ‫Y lo que voy a hacer es simplemente ejecutar todo eso allí. 48 00:03:52,200 --> 00:03:54,780 ‫Entonces me va a dar el nombre. 49 00:03:54,780 --> 00:03:56,550 ‫Me va a dar el desarrollador. 50 00:03:56,940 --> 00:04:00,570 ‫Me dará la calificación y la fecha de lanzamiento. 51 00:04:01,940 --> 00:04:02,360 ‫Está bien. 52 00:04:02,430 --> 00:04:09,090 ‫Ahora, en cambio, puedo simplemente llamar al método de visualización y puedo hacerlo llamando al juego uno y 53 00:04:09,090 --> 00:04:14,400 ‫diciendo, por favor, muestre que toda la información se está ejecutando nuevamente y veremos. 54 00:04:14,400 --> 00:04:15,680 ‫Teníamos toda la información. 55 00:04:16,260 --> 00:04:16,620 ‫Está bien. 56 00:04:16,630 --> 00:04:18,750 ‫Entonces puedes crear variables. 57 00:04:18,750 --> 00:04:19,680 ‫Puedes crear métodos. 58 00:04:19,680 --> 00:04:20,550 ‫Pero, ¿en qué se diferencia? 59 00:04:20,580 --> 00:04:31,140 ‫Bueno, lo que no puede hacer es no puede crear una estructura de constructor que no puede contener constructores de parámetros 60 00:04:31,320 --> 00:04:32,340 ‫explícitos. 61 00:04:32,820 --> 00:04:38,850 ‫Entonces puede crear constructores predeterminados aquí, luego puede implementar una o más interfaces. 62 00:04:38,880 --> 00:04:41,880 ‫Así que podría implementar interfaces aquí. 63 00:04:41,880 --> 00:04:42,720 ‫Yo se puede cerrar. 64 00:04:42,720 --> 00:04:44,760 ‫Comparo ese tipo de cosas. 65 00:04:46,140 --> 00:04:49,010 ‫Entonces no admiten la herencia. 66 00:04:49,050 --> 00:04:53,780 ‫Por lo tanto, no puede usar herencia o instrucciones, no puede tener un constructor predeterminado. 67 00:04:53,790 --> 00:04:59,580 ‫Como dije, los miembros instructores no se pueden especificar como abstractos, virtuales o protegidos. 68 00:04:59,880 --> 00:05:02,940 ‫Entonces pueden ser algo así como público. 69 00:05:03,120 --> 00:05:05,940 ‫Entonces puede tener una estructura pública o puede tener una estructura privada. 70 00:05:08,560 --> 00:05:14,560 ‫Sin embargo, Struts puede tener constructores definidos para que puedas tener algo como 71 00:05:14,630 --> 00:05:22,990 ‫un juego público y luego tienes el nombre de la cadena, puedes tener eso y habrá un nombre o esto. 72 00:05:23,110 --> 00:05:24,790 ‫Ese nombre es igual nombre. 73 00:05:25,720 --> 00:05:35,170 ‫Y esto de que el desarrollador tiene la misma calificación basada en el desarrollador es la misma calificación. 74 00:05:35,170 --> 00:05:39,460 ‫Y esta fecha de lanzamiento del DOT es la misma fecha de lanzamiento. 75 00:05:39,760 --> 00:05:48,910 ‫Ahora, por supuesto, debe tenerlos aquí, desarrollador de cadenas, luego doble calificación y fecha de lanzamiento de 76 00:05:49,270 --> 00:05:49,840 ‫cadenas. 77 00:05:51,100 --> 00:06:00,940 ‫Pero luego, si, por ejemplo, desea continuar y mostrar el método de visualización aquí, se encontrará con un error debido al uso 78 00:06:00,940 --> 00:06:05,430 ‫de una variable local no asignada en el juego uno. 79 00:06:05,860 --> 00:06:08,160 ‫Así que el primer juego no fue asignado. 80 00:06:08,440 --> 00:06:15,490 ‫Entonces, incluso si lo intenté, digamos que después de tener toda la información aquí, ves que todavía hay un 81 00:06:15,490 --> 00:06:15,960 ‫error. 82 00:06:16,180 --> 00:06:21,430 ‫Por lo tanto, debe tener toda la información diferente sobre este juego, una para ser asignada. 83 00:06:21,550 --> 00:06:23,400 ‫De lo contrario, esta obra no funciona. 84 00:06:23,410 --> 00:06:27,490 ‫Entonces, incluso aquí, después de tener la calificación, seguimos obteniendo el mismo error. 85 00:06:27,490 --> 00:06:30,790 ‫Solo después de haber asignado todos los valores, podemos trabajar. 86 00:06:31,060 --> 00:06:36,820 ‫Entonces funciona por valor, no por referencia, como lo haría una cláusula, ¿verdad? 87 00:06:38,120 --> 00:06:44,270 ‫Entonces, si desea tener un breve resumen, stack, overflow es su amigo, por lo que un breve resumen de 88 00:06:45,440 --> 00:06:47,380 ‫cada clase admite la herencia. 89 00:06:47,390 --> 00:06:52,070 ‫Nuestros prototipos de referencia pueden ser nulos y tener más informes. 90 00:06:52,080 --> 00:06:59,090 ‫Por ejemplo, las destrucciones solo no pueden admitir la herencia o los tipos de valor se pasan por valor similar a 91 00:06:59,090 --> 00:07:00,380 ‫los números enteros. 92 00:07:00,620 --> 00:07:07,310 ‫Entonces Kennet tiene una referencia nula como acabas de ver y no tiene memoria, se sobrecalienta, por ejemplo, y ambos 93 00:07:07,490 --> 00:07:09,830 ‫tienen un compuesto o nuestro compuesto. 94 00:07:09,830 --> 00:07:15,800 ‫Los tipos de datos normalmente se utilizan para contener algunas variables que tienen alguna relación lógica, pueden 95 00:07:15,800 --> 00:07:19,010 ‫contener métodos y eventos y pueden admitir interfaces. 96 00:07:20,970 --> 00:07:28,200 ‫A pesar de que Simon Stevens sostiene que las clases no siempre van y él instruyó que no siempre van en Stack. 97 00:07:28,720 --> 00:07:34,810 ‫Correcto, y esta entrada de desbordamiento de pila en general tiene bastante información valiosa sobre struts. 98 00:07:34,860 --> 00:07:39,710 ‫Entonces, las diferencias entre struts y clases, pero has visto la mayoría de ellas aquí. 99 00:07:39,990 --> 00:07:45,680 ‫Pero, como de costumbre, siempre recomiendo consultar la documentación para comprender mejor.