Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 26-01-24 - 2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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