Saltar navegación

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

Clase 05-03-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 6 de marzo de 2024 por Raquel G.

8 visualizaciones

Descargar la transcripción

vale, pues ya por fin vamos a hacer este método 00:00:00
que era 00:00:04
por lo que 00:00:05
por lo que arrancamos este proyecto 00:00:07
entonces ahora vamos a ponerle alumno 00:00:12
¿está apagado? ¿lo he apagado yo antes? 00:00:14
Vale, vamos a ponerle a alumno un constructor solo por la clave primaria. 00:00:38
Vale, para que nos quede ahora más cómodo 00:01:04
Y más bonito y que os pueda hacer una 00:01:11
Vale, vamos a ponerle a alumno 00:01:12
También un constructor, como le puede poner 00:01:15
Uno de los constructores que le dé la gana 00:01:17
Vamos a ponerle 00:01:18
Un constructor solo por clave primaria 00:01:21
Vamos a hacerle un constructor 00:01:23
Solo 00:01:30
¿Dónde estoy yo? ¿En qué alumno estoy? 00:01:31
Ah, que no estoy en 00:01:35
No estoy en el alumno bueno 00:01:36
En este, vale 00:01:38
le voy a hacer un constructor 00:01:40
solo con clave primaria 00:01:44
para que me sea más fácil 00:01:46
ahora, solo con el nif 00:01:51
vale 00:01:54
ya tengo un constructor solo con nif 00:01:54
el resto de valores 00:01:58
se queda, bueno pues ahora ya 00:01:59
con este constructor ahora aquí 00:02:01
vale, nos vamos al método 00:02:03
que estábamos haciendo, este método auxiliar 00:02:05
bueno 00:02:07
que 00:02:10
decidme que dos líneas 00:02:12
pondríais aquí 00:02:15
para mostrar 00:02:15
el nombre del profesor 00:02:17
de posición I 00:02:20
si es que contiene 00:02:21
al alumno de NIF 00:02:24
dos líneas solo, quiero que pongáis ahí 00:02:25
para completar ya ese método 00:02:28
entonces lo que hay que hacer ahí es 00:02:29
esto 00:02:32
mostrar el nombre 00:02:33
del profesor 00:02:36
de posición I 00:02:39
este es un for que va uno por uno 00:02:41
claro, si es que 00:02:42
El alumno de NIF, si es que el alumno con ese NIF está entre en su lista de alumnos. 00:02:51
Vale, eso es lo que queremos hacer en ese método, mostrarlo. 00:03:10
Podríamos concatenarlo en un exilio y devolverlo, pero bueno, vamos. 00:03:13
Como es un método auxiliar, no es un método de una clase de operaciones que vaya a llamar cualquiera, 00:03:16
es un método privado auxiliar aquí que nos llevamos a nosotros, hacemos lo que nos dé la gana. 00:03:21
Dime. 00:03:24
Voy, ¿dónde? 00:03:26
Sí, porque voy a hacer aquí el system out para mostrarlo directamente. 00:03:32
Claro, porque este método es un método auxiliar que yo he hecho en el main 00:03:37
para ser llamado desde aquí, pero no es un método que yo he hecho en una clase aparte 00:03:41
para que lo llame cualquiera. 00:03:45
Entonces, es otra idea, es otra filosofía. 00:03:47
Aquí, esto es un método, de hecho pone privado. 00:03:51
Es un método que voy a llamar yo aquí solamente, 00:03:53
simplemente para meterme 00:03:55
en un 00:03:57
en una función 00:03:58
el que yo iba a poner aquí 00:04:01
entonces con ese diseño 00:04:03
con ese diseño, aquí ya 00:04:05
no tiene, no hay necesidad 00:04:07
de que devuelva el string, lo muestro 00:04:09
aquí con system out y ya está, es otra filosofía 00:04:11
de diseño, otra cosa es que yo me haga una 00:04:13
clase con métodos y diga 00:04:15
este método va a 00:04:17
es para mostrar los profes que tiene el alumno, entonces 00:04:18
como ese método lo puede llamar cualquiera 00:04:21
pues lo mejor es que devuelva el string 00:04:22
Y cada uno que haga con ese string lo que le dé la gana 00:04:24
Pero aquí estoy haciendo un diseño alternativo 00:04:27
Un diseño alternativo 00:04:29
Bueno, pues entonces ahora 00:04:31
Aquí voy a mostrarlo 00:04:34
Entonces 00:04:36
Dos líneas para completar este método 00:04:36
Y ya está, pues venga 00:04:40
Dictadmelas, dos líneas solo 00:04:41
¿Qué escribo? 00:04:43
¿Qué pongo? 00:04:47
¿Qué es lo primero que pongo? 00:04:49
Es el profesor de posiciones 00:04:49
Vale, ¿qué hago con él? 00:04:59
A ver, bueno, primera cosa 00:05:11
Nunca compararías cadenas con doble igual 00:05:13
Vale, la compararías con equals 00:05:16
Vale, pero aún así 00:05:19
Asumiendo que 00:05:20
Ahora, ¿qué problema tiene esto? 00:05:23
¿Qué problema tiene este equals? 00:05:28
De hecho me aparece 00:05:30
No un error de compilación 00:05:31
Al equals, con que le pases dos objects 00:05:33
le da igual, como si le pasas una mesa 00:05:36
y un dinosaurio, son dos 00:05:38
objects, al equals le cae todo 00:05:40
pero 00:05:42
silencio, por ahí detrás 00:05:43
pero puede no tener sentido 00:05:45
entonces los avisos en otro color 00:05:47
son los avisos de los plugins 00:05:50
de sonar, que se llaman así, que te 00:05:52
dicen, oye, estás seguro, esto no tiene mucho sentido 00:05:54
vale, pues por qué me está diciendo 00:05:56
que esto no tiene mucho sentido, que ha detectado él 00:05:58
que estoy comparando con equals 00:06:00
una lista 00:06:02
entera 00:06:04
con un iconiz 00:06:04
o sea, dos objetos distintos 00:06:07
efectivamente es como estar comparando una mesa 00:06:09
con un dinosaurio, entonces me dice 00:06:11
¿estás seguro de que quieres ver si una mesa es igual 00:06:12
que un dinosaurio? 00:06:15
¿estás seguro de que quieres ver si una lista 00:06:17
es igual que un nif? 00:06:18
no puede ser, entonces no es igual lo que tú quieres 00:06:20
no es 00:06:23
igualdad, la idea 00:06:25
que tú quieres reflejar no es la de 00:06:27
una lista es igual a ese nif 00:06:28
sino que es decir una lista contiene a ese nif 00:06:30
Es otra cosa lo que tú quieres decir, ¿no? 00:06:33
Entonces, tú quieres decir que esta lista contenga ese NIF, 00:06:38
no que sea igual a ese NIF. 00:06:41
Entonces, para decir que esa lista contenga ese NIF, 00:06:43
¿qué ponemos? 00:06:46
¿Por qué lo cambiamos? 00:06:47
Ese equals. 00:06:48
Por contains. 00:06:50
Ahora ya sí. 00:06:52
¿Vale? 00:06:59
Pero esto no deja de ser una condición. 00:06:59
Esto de devolver a true es una condición. 00:07:01
No la podemos poner suelta. 00:07:03
Claro. 00:07:05
Esto habrá que decir, oye, 00:07:05
si la lista de alumnos 00:07:06
de este profe 00:07:09
contiene 00:07:10
vale 00:07:11
profesores.get 00:07:12
ah bueno, como tengo un toString 00:07:22
lo paso 00:07:25
le paso el profesor entero 00:07:26
porque tengo un toString en profesor 00:07:29
vale, tengo un toString en profesor 00:07:31
como tengo un toString en profesor, se lo paso al system.not 00:07:33
vale, pero 00:07:35
nos sigue apareciendo 00:07:37
aquí otro aviso 00:07:39
esto 00:07:41
nos sigue apareciendo aquí un aviso 00:07:43
algo aquí deja de tener sentido 00:07:47
vale, entonces vamos a pensar 00:07:54
este contains, efectivamente 00:07:56
la idea que queremos es que una lista 00:07:58
de alumnos contenga 00:08:00
pero no que contenga al NIF 00:08:01
sino que contenga a un alumno 00:08:04
de ese NIF, este aviso si lo vemos 00:08:06
me dice, oye 00:08:08
esta lista, ¿de qué es esa lista? Vamos a ver de qué es esa lista. Esa lista es de alumno. Entonces, 00:08:10
esa lista, como es una lista de alumno, lo que contiene son alumnos, no contiene NIF. Esa lista 00:08:23
contiene alumnos, no NIF. Pues es lo que me está diciendo con este aviso. Me está diciendo, oye, 00:08:31
me estás diciendo, si una lista de mesas 00:08:36
contiene un 00:08:38
dinosaurio, vale 00:08:40
como el context también va con object 00:08:42
tú dime lo que el compilador lo traga 00:08:44
pero eso no tiene sentido 00:08:46
esto 00:08:48
es una lista de alumnos, hay que 00:08:50
pasarle un objeto de tipo 00:08:52
alumno 00:08:54
entonces hay que decirle, si mi lista 00:08:57
de alumnos contiene 00:09:00
un alumno con este nif 00:09:02
vale, a una lista 00:09:03
de mesas, para ver si contiene una mesa 00:09:06
concreta y hay que pasar a una mesa, a ver si la contiene. 00:09:08
Pues a una lista de alumnos hay que pasar 00:09:10
a un alumno concreto, a ver si lo contiene. 00:09:12
Pero claro, un alumno con ese NIF. 00:09:14
Por eso me he hecho el constructor 00:09:16
solo con el NIF, para que aquí 00:09:18
lo pueda hacer solo con una línea más rápido. 00:09:20
Ahora ya sí. 00:09:27
Ahora ya no hay avisos amarillos, ni azules, 00:09:28
ni de ninguno de los plugins estos 00:09:31
que te dicen, pues estás programando, 00:09:32
vamos, el peor del universo. 00:09:34
Ya no hay ningún aviso. 00:09:36
Si mi lista de alumnos del profesor 00:09:38
de posición i contiene a un alumno 00:09:40
igual que ese 00:09:43
y como la igualdad está con nif 00:09:44
pues esto se traduce 00:09:46
si mi lista de alumnos del profesor i contiene 00:09:48
un alumno con este nif 00:09:50
pues muéstrame 00:09:52
a ese profe 00:09:55
si no tuviera el constructor 00:09:59
solo con nif pues me haría 00:10:02
un alumno arriba, le haría 00:10:03
con el set el nif y ya está 00:10:05
bueno pues este método auxiliar 00:10:07
con este for 00:10:17
me muestra la lista de profesores 00:10:20
porque era este alumno. 00:10:22
Si ningún alumno está en la lista 00:10:23
de ninguno de los profes, 00:10:26
simplemente ese método no muestra nada, 00:10:27
no hace ningún system out y ya está. 00:10:29
Otra cosa es que queramos que funcione así, 00:10:31
que no funcione así, 00:10:33
que si nunca entra en este if, 00:10:34
avisemos con un boolean para decir 00:10:37
no hay profes con este alumno. 00:10:39
Eso ya tendríamos que hablar con el que lo ha pedido. 00:10:41
Si quisiéramos que avisara 00:10:45
en el caso de que ese alumno no tuviera profes, 00:10:47
Pues lo más cómodo sería hacer esto 00:10:50
Yo de partida asumo que no hay ningún profe 00:10:53
Que tenga a ese alumno 00:11:00
Y en el momento en el que encuentro uno 00:11:02
Ya solo en ese momento 00:11:05
Digo, oye, que sí, que sí 00:11:10
Al menos existe uno 00:11:12
Luego puede que aparezcan más 00:11:14
Luego puede que aparezcan más 00:11:15
Pero al menos uno existe 00:11:16
Y ahora ya cuando ya ha acabado mi for 00:11:19
Cuando ya ha acabado mi for 00:11:27
yo podría hacer, si no encontré ninguno 00:11:30
pues puedo poner 00:11:32
no hay ningún profesor 00:11:37
que dé clase a este alumno y ya está 00:11:38
voy a seguir por aquí 00:11:41
abajo 00:11:56
que dé clase al alumno 00:11:56
bueno, esto si quiero que muestre un mensaje 00:12:01
en el caso que no lo encuentre 00:12:05
vale, entonces 00:12:06
como ya que he puesto un boolean 00:12:14
ya que he puesto un boolean 00:12:15
aquí que cambia a true 00:12:17
cuando encuentra un profesor 00:12:19
que da clase a este alumno 00:12:21
ya que he puesto un boolean 00:12:23
que cambia a true 00:12:24
aprovecho y pongo esto aquí 00:12:25
como hacíamos ayer 00:12:30
para que el bucle pare 00:12:33
cuando encuentra un profesor 00:12:36
que da clase a ese alumno 00:12:39
¿sí o no? 00:12:40
pues no, ¿cómo voy a poner eso? 00:12:48
porque aquí puede haber muchos profes 00:12:50
que den clase a un alumno 00:12:52
claro, yo quiero seguir 00:12:53
Que haya encontrado a uno 00:12:56
Ya lo que me permite es avisar 00:12:58
Que al menos uno hay 00:13:00
Y me viene muy bien para el mensaje 00:13:01
Pero yo quiero seguir buscando 00:13:03
Por si hay más, para mostrarlos todos 00:13:06
¿Vale? Ayer lo que pasa 00:13:07
Es que las búsquedas que hacíamos 00:13:10
Sabíamos que solo iban a tener un resultado 00:13:11
Entonces en cuanto lo encontraba 00:13:13
Ya decíamos, oye, ya no sigas con el for 00:13:15
Pero aquí puede haber muchos profes 00:13:18
¿Vale? 00:13:19
Entonces aquí obviamente no haría esto 00:13:21
¿Vale? 00:13:23
Bueno, pues ya está, mostramos profes 00:13:27
¿Y qué me dice este? 00:13:31
Pues este 00:13:35
Lo que me está diciendo es 00:13:36
Que he dado el NIF de un profe 00:13:39
Listado alfabético de sus alumnos 00:13:43
Introduzca NIF 00:13:45
Vale 00:13:57
Leemos 00:13:58
Vamos a reutilizar la variable que ya tenemos arriba 00:13:59
Para leer el NIF del profe 00:14:02
Y ahora 00:14:05
Lo que tenemos es que 00:14:08
ordenar alfabéticamente 00:14:10
la lista 00:14:12
de alumnos 00:14:14
del profe con este nif 00:14:16
vamos a hacerlo igual 00:14:17
en lugar de meter aquí todas las líneas 00:14:20
vamos a hacer aquí 00:14:22
un método auxiliar 00:14:24
mostrar listado 00:14:25
alfabético 00:14:31
y le paso el nif 00:14:32
del profe 00:14:35
vale 00:14:37
entonces este método 00:14:45
está simplemente aquí 00:14:47
Con la idea de 00:14:49
Un método privado, auxiliar 00:14:51
Con la idea de recorrer la lista 00:14:53
Lo que sea 00:14:55
Vale 00:14:56
Venga, pues a ver 00:14:58
Un ratito, hacéis este método 00:15:06
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
8
Fecha:
6 de marzo de 2024 - 12:24
Visibilidad:
Público
Centro:
IES ROSA CHACEL
Duración:
15′ 11″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
71.52 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid