Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Clase 26-01-24 - 2 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 28 de enero de 2024 por Raquel G.

8 visualizaciones

Descargar la transcripción

Vale, bueno, pues aquí ya sabemos que por cada una de estas subcadenas, 00:00:00
por cada una de ellas, habrá que instanciar un nuevo objeto app, 00:00:07
un nuevo objeto app, para meterlo en ese array store. 00:00:12
Entonces ahora ese for, ese for que recorre esas subcadenas, 00:00:17
es el que tendrá que en cada, que en cada iteración sacar los 00:00:20
valores de la app, instanciar con ellos un objeto app y meterlo 00:00:27
en el array, ¿verdad? 00:00:32
Entonces, ahora aquí ya viene un for, aquí, 00:00:34
viene un for para sacar cada una de las app a través de cada una 00:00:39
de las subcadenas estas. 00:00:45
Bueno, este es el for que recorre cada una de las subcadenas 00:00:47
que va a recorrer. 00:01:00
Para la primera iteración va a tener esto, 00:01:01
para la segunda iteración va a tener esto, 00:01:06
para la tercera iteración va a tener esto, ¿vale? 00:01:09
Entonces, en cada iteración tenemos que sacar los valores, 00:01:13
que de nuevo habrá que hacer otro split, 00:01:18
de nuevo habrá que hacer otro splitting para sacar los valores 00:01:21
que están alrededor del patrón de separación coma, 00:01:25
de nuevo habrá que hacer otro split. 00:01:29
Bueno, pues nada, es lo que hacemos aquí. 00:01:31
Para cada apps.y, pues vamos a coger los datos de la app. 00:01:38
Los datos de la app se guardarán aquí en su array de datos app y 00:01:46
los datos de la app vendrán como consecuencia de hacer un split 00:01:51
alrededor de esto, ¿vale? 00:01:57
Apps.y, ¿vale? 00:02:05
O sea, los datos de la app, de cada app, 00:02:13
vendrán de hacer un split para cada subcadena, ¿no? 00:02:16
Apps de cero, por ejemplo, será este. 00:02:23
Este es apps de cero. 00:02:25
Como consecuencia de hacer un split alrededor de la coma, 00:02:26
pues sacar estos 3, el nombre, la versión y el tamaño. 00:02:29
Bueno, pues ya está, ya lo tengo los 3. 00:02:35
El nombre será datos app de cero. 00:02:38
La versión será datos app de 1. 00:02:44
Y el tamaño será datos app de 2. 00:02:47
Esos serán los 3 parámetros que necesito para instanciar el 00:02:51
objeto app. 00:02:53
Entonces, estoy utilizando tantas veces los mismos nombres, 00:02:55
pero, vale, pues ahora ya lo puedo instanciar y tendrá los 00:03:01
3 valores. 00:03:07
Porque el constructor de app que está aquí, 00:03:09
el constructor de app necesita nombre, versión y tamaño. 00:03:11
Pues los tengo aquí, datos app de cero, nombre, 00:03:18
datos app de 1, versión y datos app de 2, tamaño. 00:03:22
Tendría que cambiar el tipo de dato, ¿vale? 00:03:26
Entonces, el nombre, está claro, será datos app de cero. 00:03:28
Ese será el nombre de la aplicación, está claro. 00:03:37
La versión, la versión será datos app de 1. 00:03:41
Esa será la versión. 00:03:47
Pero, vale, ahora corregimos el, vamos a ponerlo todo y ahora 00:03:49
ya cambio, me lo voy a cambiar. 00:03:54
Y el tamaño será datos app de 2, ¿vale? 00:03:55
Lógicamente me sale en rojo porque, claro, 00:04:07
yo aquí tengo la versión guardada en string. 00:04:10
Y el tamaño guardado en string, aunque sea 1. 00:04:13
Tengo el 1 guardado en string. 00:04:16
Y esto aunque sea 7, tengo el 7 guardado en string. 00:04:18
Y el constructor no lo quiere en string, lógicamente, 00:04:21
porque el constructor lo necesita en entero y en double para 00:04:25
pasárselo la variable entera y double, ¿vale? 00:04:30
Pero entonces aquí es cuando recordamos que cuando teníamos 00:04:33
un número entero o double o float en string y queríamos 00:04:37
pasarlo a su almacenamiento en tipo int, 00:04:43
teníamos el integer parse int o el double parse double, 00:04:47
etcétera. 00:04:49
Bueno, pues, es el momento de usarlo. 00:04:50
Lo pongo aquí, aunque en parte el constructor por la mitad, 00:04:53
lo pongo aquí abajo para que se vea mejor. 00:04:56
Ai, control, z, tam, ai, parse, dat, integer, parse int, 00:04:58
datos app de 1, vale. 00:05:16
El primer parámetro ya está pasado en entero. 00:05:19
Y me falta el siguiente, que será el double punto parse 00:05:22
double, ahí, insert, pam, pam. 00:05:30
Ala, ya está, perfecto. 00:05:39
Corto aquí abajo también, ahí. 00:05:42
Ala, ya tengo la aplicación con los 3 parámetros, ¿vale? 00:05:46
Recordad que siempre tenéis que tenerlo todo ahí en mente. 00:05:48
Uno no se tiene que olvidar de esto que hemos usado a veces, 00:05:52
al principio, sobre todo, cuando hacíamos programas con números 00:05:55
string, ¿vale? 00:05:58
Bueno, pues, ya tenemos una aplicación creada a partir de 00:06:02
la subcadena apps de i, ¿vale? 00:06:10
Tenemos una aplicación creada. 00:06:14
Y eso nos falta el último paso, que es esa aplicación, 00:06:15
cerrar la raya store, incorporar la raya. 00:06:17
Es lo único que nos falta. 00:06:20
Tengo ahí algo rojo porque, ah, claro, 00:06:25
porque datos app falta ahí, lo he borrado en tanto escribir. 00:06:26
Datos app. 00:06:34
Y ya está, ¿no? 00:06:35
Ahora, vale, estaba mal escrito, ¿vale? 00:06:38
Entonces, recopilando, primero, hemos hecho primero el split 00:06:41
alrededor del punto y coma. 00:06:53
Y nos ha salido todo esto, todo esto, todo esto. 00:06:55
Luego hemos ido uno por uno. 00:07:00
Y para cada uno hemos hecho el split alrededor de la coma. 00:07:02
Y hemos llegado aquí, a datos app. 00:07:07
Y ahora ya, datos app de 0 será el nombre. 00:07:10
Datos app de 1 será la versión, pero la tengo que convertir al 00:07:13
almacenamiento entero porque estaba en string. 00:07:17
Y datos app de 2 será el tamaño, que lo tengo que convertir al 00:07:19
almacenamiento de Abel porque estaba en string. 00:07:22
Ya está. 00:07:24
Y ahora ya tengo que meter app en el array, 00:07:25
que es lo que me faltaría aquí. 00:07:30
¿Vale? 00:07:34
Entonces, como es un array, de nuevo, 00:07:35
es un rollo incorporar un array, 00:07:37
pero le tengo que hacerlo de aumentar tamaño. 00:07:39
Entonces, ponerlo aquí dentro del constructor, ese código. 00:07:41
Y aquí ya me queda un constructor tan feo. 00:07:44
Y aquí es cuando decimos, Jolín, 00:07:47
si yo tuviera un método en algún sitio que me lo hiciera. 00:07:49
Y hasta me atrevo a soñar y le pongo nombre y digo, venga, 00:07:57
Jolín, si lo pudiera yo tener un método así, 00:08:01
que yo le paso la aplicación esta que acabo de hacer y este 00:08:06
método maravilloso que se llama incorporar app store, 00:08:11
cogiera esta app que yo le paso, que acabo de instanciar y la 00:08:14
pasar aquí, pues, qué bien. 00:08:18
Madre mía, qué maravilla. 00:08:21
Pues, mi constructor habría terminado. 00:08:23
Solo tendría que llamar a este método. 00:08:25
Vale, entonces, primero diría, Jolín, 00:08:30
pero ¿cómo estás poniendo un método suelto? 00:08:32
Un método que lo llame algún objeto, ¿no? 00:08:34
Venga, que lo llame este mismo en el que estoy. 00:08:37
Que lo llame este mismo. 00:08:40
Ojalá tuviéramos un método en esta misma clase con lo cual que 00:08:43
lo llamara este mismo objeto que fuera capaz de hacerme esto. 00:08:47
Ojalá. 00:08:51
Vale, pues, vamos a hacerlo. 00:08:52
Vamos a hacerlo. 00:08:54
Pinchamos aquí en el rojito y te dice, venga, te lo creo. 00:08:57
Aquí lo tienes. 00:09:03
Pero, claro, el código ya lo haces tú. 00:09:04
El código ya lo haces tú, ¿vale? 00:09:06
Entonces, es un método más de la clase. 00:09:09
¿Qué he puesto yo como método auxiliar? 00:09:11
Solamente como método auxiliar para ahorrarme escribir todo 00:09:13
eso de meter el array aquí porque queda muy feo y muy 00:09:18
largo. 00:09:20
Solamente. 00:09:21
Entonces, como me he hecho yo aquí un método auxiliar para 00:09:22
ser llamado solo desde aquí, lo pongo en privado. 00:09:24
Y eso ya se lo ha imaginado el eclipse porque algunas cosas, 00:09:28
solo algunas, muy pocas, pues, sí que acierta. 00:09:31
Y es este método no está para llamarse desde fuera. 00:09:35
Este método está solo para ser llamado aquí desde este 00:09:38
constructor en plan método auxiliar. 00:09:42
Oye, voy a sacar esto aquí fuera para que no me quede tan 00:09:43
largo. 00:09:45
Lo saco aquí fuera. 00:09:46
Entonces, yo a ese método le pongo un privado ahí enorme 00:09:47
porque este método solo va a ser llamado desde esta clase. 00:09:51
Y eso es lo que significa al constructor privado, ¿no? 00:09:55
Que solo puede ser llamado desde la misma clase. 00:09:57
Pues, le pongo un privado porque solo puede ser llamado desde 00:09:59
esta clase. 00:10:02
En concreto, ¿desde dónde? 00:10:04
Desde aquí mismo. 00:10:05
Y es llamado desde this, claro, es llamado desde this porque el 00:10:07
método está en la misma clase. 00:10:10
¿Vale? 00:10:12
Recordad que el this es opcional, 00:10:14
es opcional cuando no hay confusión. 00:10:17
Aquí solo hay un método que se llame así. 00:10:22
No hay otra clase que tenga un método que se llame así. 00:10:25
Entonces, el this no pasa nada. 00:10:27
Si lo dejáis, es una buena costumbre ir arrastrando los 00:10:29
this, dejan las cosas más claras. 00:10:32
Pero si uno lo quitara, la máquina virtual, 00:10:35
él diría, ah, que no, que ningún objeto está llamando a este. 00:10:39
Entonces, yo asumo que lo llama el this. 00:10:43
Yo asumo que lo llama el this. 00:10:46
¿Vale? 00:10:47
Entonces, lo podéis quitar o no quitar porque si no hay, 00:10:48
por defecto es el this quien llama este método, por defecto. 00:10:50
¿Vale? 00:10:55
Entonces, ahora ya este método de aquí tiene que añadir el 00:10:55
objeto app al array store de arriba. 00:11:01
Ya está. 00:11:09
Y esto ya sé que lo escribimos todo seguidito porque es hacerlo 00:11:10
de siempre y dentro de poco, cuando ya usamos colecciones, 00:11:13
pues no habrá ni que escribirlo. 00:11:16
Porque tendremos una llamada que hará esto mismo que estamos 00:11:18
escribiendo nosotros, esto mismo. 00:11:21
Y esto era lo de siempre. 00:11:23
Si store es igual a nul, que esto me lo ahorraría si lo 00:11:25
inicializara antes con un tamaño cero, pero, bueno, no. 00:11:29
Y no me gusta mucho eso, por si acaso. 00:11:33
Si store es igual a nul, ¿qué es la primera aplicación que 00:11:36
metes? 00:11:39
Como es la primera aplicación que metes, pues, entonces, 00:11:39
créate un array de una única posición y pon en esa única 00:11:42
posición la que me has pasado. 00:11:51
Y ya está, sal del método, fuera. 00:11:56
A la porra, no hagas nada más. 00:11:59
Vale, lo de siempre. 00:12:01
Y ahora, ¿qué store no es nul, que ya tiene cosas? 00:12:02
Pues, hacemos un auxiliar con un tamaño más, 00:12:05
copiamos y en la última posición llevamos el nuevo. 00:12:07
Lo de siempre. 00:12:09
Y esto era. 00:12:11
Hacemos un nuevo array auxiliar de aplicaciones que tenga el 00:12:15
mismo tamaño que el store más 1. 00:12:22
Copiamos y pegamos el store en el auxiliar. 00:12:29
Menor que store.length, incrementando i. 00:12:42
Pues, hacemos esto de aux de i igual a store de i. 00:12:50
Luego, ya en la última de las posiciones, que es aux de, 00:13:05
aux.length menos 1. 00:13:11
En la última, copiamos la nueva y sobreescribimos. 00:13:14
Ah, pues, ya tenemos el método mágico. 00:13:24
Ya tenemos el método mágico que recibe una aplicación y la 00:13:27
incorpora al array store. 00:13:30
Verifico si es nul, pues, crea uno nuevo y lo mete. 00:13:33
¿Que no es nul? 00:13:36
Pues, crea uno de una posición más, copia, pega, 00:13:37
añade el último y sobreescribe. 00:13:41
La historia de siempre. 00:13:44
Ahí está metidita en ese método y ya está. 00:13:45
Y ya tengo mi constructor terminado. 00:13:50
¿Qué hace la aplicación? 00:13:57
Después de romper el string en los cachos correspondientes y 00:13:59
luego mete la aplicación al store. 00:14:03
Y hemos usado un método auxiliar. 00:14:07
Repito, porque si no, todo este código habría que haberlo 00:14:08
metido aquí dentro. 00:14:11
Y, hombre, queda un poco feo meter todo ese código dentro. 00:14:13
Me hago el método auxiliar, lo llamo y ya está. 00:14:15
¿Cuál de ellos? 00:14:24
Este es el mismo que lleváis haciendo meses. 00:14:28
Vale. 00:14:31
Bueno, he dicho que paramos aquí unos minutos. 00:14:33
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
8
Fecha:
28 de enero de 2024 - 18:58
Visibilidad:
Público
Centro:
IES ROSA CHACEL
Duración:
14′ 35″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
70.59 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid