Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 15-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:
Bueno, habréis hecho algo parecido a esto que es lo de siempre, ¿no?
00:00:00
Crear una raya auxiliar con una posición más que el de referencia,
00:00:05
que el que queremos ampliar, una raya auxiliar.
00:00:12
Ese array auxiliar le damos los mismos valores que tiene el otro
00:00:15
y en la extra, en la posición extra que hemos creado,
00:00:23
en la extra, en la posición extra metemos el nuevo
00:00:27
y el nuevo es el que ha llegado por parámetro, ¿vale?
00:00:31
El nuevo es el que ha llegado por parámetro, le damos el nuevo
00:00:35
y ahora ya aux es nuestro array definitivo, el bueno,
00:00:40
el que tiene los pedidos anteriores más el nuevo en la posición adicional.
00:00:44
Pues entonces sobrescribo mi propiedad, ítems pedido,
00:00:50
mi propiedad la sobrescribo con mi array bueno ya, definitivo,
00:00:55
la sobrescribo, ¿vale?
00:00:59
Y entonces ya mi array ítems pedido, que es éste,
00:01:01
mi propiedad, éste, que es éste,
00:01:05
mi propiedad ya se queda con el valor bueno,
00:01:08
ésta es mi propiedad, es ésta, que es la que he ampliado.
00:01:11
Como si ponemos aquí dis, es lo mismo, ¿vale?
00:01:17
Me da igual, en este caso el dis no hace falta
00:01:20
porque solo hay una cosa que se llama ítems pedido en este método, ¿vale?
00:01:22
Me da igual poner el dis que no ponerlo, ¿vale?
00:01:28
Está claro lo que hemos hecho, ¿no?
00:01:31
A ver, primero recordar dos matices,
00:01:34
aquí tengo un problema cuando pasa que,
00:01:37
¿en qué situación este método me daría un error y cuál sería?
00:01:44
Cuando añado el primero,
00:01:54
cuando llamo por primera vez a addItem,
00:01:57
porque cuando llamo por primera vez a addItem,
00:02:00
ítems pedido de arriba es nul,
00:02:02
estas inicializar es nul,
00:02:05
entonces cuando lo llamo por primera vez,
00:02:07
ya aquí directamente al tratar de acceder a su tamaño,
00:02:09
para darle uno más al otro,
00:02:13
me va a decir nul, pointer exception,
00:02:15
pa, a lo bestia, ¿vale?
00:02:17
Entonces, esa es primera cosa que tendríamos que arreglar,
00:02:21
que la primera vez que se llame addItem,
00:02:24
la primera vez esto es nul,
00:02:27
entonces podríamos arreglarlo de varias maneras,
00:02:30
una más larga, otra más corta, una más fea,
00:02:32
una más bonita, depende,
00:02:35
una distinguir aquí con un if, ¿no?
00:02:37
y poner if items pedido igual a nul,
00:02:39
entonces no hagas todo esto,
00:02:42
te voy a ver la que le voy a hacer,
00:02:44
si ítems pedido, ha sonado, pero no,
00:02:46
si ítems pedido es igual a nul,
00:02:49
entonces no hagas todo este chorizo,
00:02:51
simplemente ítems pedido igual a newItem1
00:02:53
y mete ahí el nuevo, ¿verdad?
00:02:56
Si es igual a nul,
00:02:59
lo creas con una pollina y metes el nuevo,
00:03:01
o, o, se puede hacer otra cosa,
00:03:03
que es, oye,
00:03:06
créala desde el principio,
00:03:10
en el momento de crear el objeto,
00:03:12
recordad que mencionamos
00:03:15
que uno puede inicializar las propiedades también,
00:03:17
si quiere, ahí, si quiere,
00:03:20
entonces podríamos hacer esto, ¿verdad?
00:03:23
Lo peor es que esto es más feo,
00:03:26
yo lo he visto menos y me gusta menos,
00:03:28
pero, como, con Estefano,
00:03:30
esta es una forma cómoda de arreglar ese problema
00:03:36
y creo que con él lo, os lo planteo así, ¿vale?
00:03:38
Entonces, de aquí,
00:03:43
¿qué me interesa de aquí sobre todo?
00:03:46
El recordar que cuando uno declara propiedades,
00:03:48
puede a la vez inicializarlas si le da la gana,
00:03:51
¿eso qué significa?
00:03:55
¿eso qué significa?
00:03:57
Que en el momento de instanciar el objeto,
00:03:59
la propiedad se inicializa con lo que se pone aquí, ¿vale?
00:04:01
Lo que pasa es que luego, es una tontería,
00:04:05
porque se va a pisar con lo que yo ya he puesto en el constructor,
00:04:07
¿vale?
00:04:11
Se va a pisar con lo que yo ya he puesto.
00:04:12
Entonces, esto tiene sentido
00:04:15
cuando no usas el constructor con parámetros,
00:04:17
¿vale?
00:04:19
Pero recordemos, quiero recordar aquí,
00:04:20
que uno puede inicializar una propiedad,
00:04:23
que es el valor que va a recibir esa propiedad
00:04:26
en el momento de instanciar el objeto,
00:04:29
pero si luego tienes,
00:04:31
si le estás instanciando el objeto
00:04:32
a través de un constructor con parámetros,
00:04:34
eso luego se va a pisar con lo que tú le pongas aquí,
00:04:36
se va a pisar con eso, ¿vale?
00:04:38
Entonces, esta inicialización
00:04:40
solo tiene sentido
00:04:42
cuando tú estás instanciando con este,
00:04:44
por ejemplo,
00:04:46
con el que no tiene parámetros,
00:04:47
con este,
00:04:48
entonces sí,
00:04:49
si tú estás instanciando con este,
00:04:50
las propiedades se quedan inicializadas
00:04:52
con lo que tú hayas puesto aquí,
00:04:54
¿vale?
00:04:56
Estás instanciando con este.
00:04:57
Bueno, en este caso,
00:04:59
si nosotros instanciamos
00:05:00
con un constructor,
00:05:02
con este de aquí,
00:05:03
que es con el que lo vamos a hacer,
00:05:04
que hace el pedido sin parámetros,
00:05:05
entonces el pedido
00:05:08
se queda inicializado a un array
00:05:09
sin posiciones,
00:05:11
pero que ya no es null,
00:05:13
no es lo mismo
00:05:14
un objeto null
00:05:15
que no existe un null
00:05:17
que un array de cero posiciones,
00:05:18
no es lo mismo,
00:05:20
no es lo mismo.
00:05:21
Entonces,
00:05:22
si lo inicializamos a newItemCero,
00:05:23
pues ya podemos dejar este código aquí sin tocar,
00:05:25
porque ahora ya esto no me dará nullPointerException,
00:05:28
esto me dará cero,
00:05:31
y ahora ya el nuevo array será uno,
00:05:33
entonces eso como más os guste.
00:05:35
O no se lo inicializa
00:05:37
y se distingue aquí si es null,
00:05:39
actúa de otra manera,
00:05:43
o se inicializa longitud cero,
00:05:45
¿vale?
00:05:47
Podéis encontrar las dos cosas.
00:05:49
Vale, bueno,
00:05:51
pues vamos a parar aquí.
00:05:53
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 4
- Fecha:
- 15 de enero de 2024 - 11:19
- Visibilidad:
- Público
- Centro:
- IES ROSA CHACEL
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 113.05 MBytes