1 00:00:00,000 --> 00:00:02,379 vale, a ver 2 00:00:02,379 --> 00:00:04,839 como estoy usando los paquetes 3 00:00:04,839 --> 00:00:06,820 para distinguir los ejercicios entre sí 4 00:00:06,820 --> 00:00:08,619 pues no voy a hacer 5 00:00:08,619 --> 00:00:10,660 paquetes para entidades, lógica 6 00:00:10,660 --> 00:00:12,099 etcétera, como es lo que se hace 7 00:00:12,099 --> 00:00:13,859 en una situación habitual 8 00:00:13,859 --> 00:00:16,260 pero bueno, a nosotros eso ya 9 00:00:16,260 --> 00:00:18,620 como lo tenemos clarísimo, no tenemos que hacerlo 10 00:00:18,620 --> 00:00:20,379 todo el rato para demostrarlo 11 00:00:20,379 --> 00:00:22,280 pues nada, ejercicio 3 12 00:00:22,280 --> 00:00:24,500 habréis hecho la clase 13 00:00:24,500 --> 00:00:29,870 profesor, que la clase 14 00:00:29,870 --> 00:00:31,309 profesor habréis 15 00:00:31,309 --> 00:00:35,369 no tiene nada más que 16 00:00:35,369 --> 00:00:39,530 el NIF y el nombre 17 00:00:39,530 --> 00:00:42,210 y la lista, claro 18 00:00:42,210 --> 00:00:59,359 la lista de alumnos 19 00:00:59,359 --> 00:01:09,739 aquí siempre se nos va a plantear la duda 20 00:01:09,739 --> 00:01:12,560 de esta propiedad alumnos 21 00:01:12,560 --> 00:01:15,480 la dejo ya inicializada a una lista vacía 22 00:01:15,480 --> 00:01:18,599 bueno, normalmente es recomendable 23 00:01:18,599 --> 00:01:19,760 por lo de siempre 24 00:01:19,760 --> 00:01:21,420 para que 25 00:01:21,420 --> 00:01:23,780 alumnos no sea null nunca 26 00:01:23,780 --> 00:01:26,260 porque si tenemos objetos que no son null 27 00:01:26,260 --> 00:01:27,840 mejor 28 00:01:27,840 --> 00:01:29,959 para que no nos den null pointer exception 29 00:01:29,959 --> 00:01:31,280 si alguien los maneja mal 30 00:01:31,280 --> 00:01:34,120 descuidadamente y no los instancia antes 31 00:01:34,120 --> 00:01:36,359 entonces como estamos poniendo siempre 32 00:01:36,359 --> 00:01:37,099 linked list 33 00:01:37,099 --> 00:01:40,359 porque yo le tengo 34 00:01:40,359 --> 00:01:41,920 un poco más cariño que a write list 35 00:01:41,920 --> 00:01:43,739 pues como siempre ponemos linked list 36 00:01:43,739 --> 00:01:45,239 vamos a variar, vamos a poner a write list 37 00:01:45,239 --> 00:01:47,299 el uso es el mismo 38 00:01:47,299 --> 00:01:50,040 salvo unos cuantos matices 39 00:01:50,040 --> 00:01:52,400 que al final de esto 40 00:01:52,400 --> 00:01:52,719 ya 41 00:01:52,719 --> 00:01:55,799 podemos comentar para dejarlo completo 42 00:01:55,799 --> 00:01:56,760 pero el uso es el mismo 43 00:01:56,760 --> 00:02:00,140 insertar, recuperar en una posición 44 00:02:00,140 --> 00:02:01,659 con el get, lo de siempre 45 00:02:01,659 --> 00:02:03,980 pues venga 46 00:02:03,980 --> 00:02:05,579 entonces los alumnos 47 00:02:05,579 --> 00:02:09,659 la clase alumno 48 00:02:09,659 --> 00:02:11,280 pues la clase alumno 49 00:02:11,280 --> 00:02:12,759 que propiedades le habréis puesto 50 00:02:12,759 --> 00:02:14,900 pues a ver, vamos a cerrar esto 51 00:02:14,900 --> 00:02:18,930 la clase alumno le habréis puesto 52 00:02:18,930 --> 00:02:21,750 ni fin hombre, ya está, un ejercicio sencillo 53 00:02:21,750 --> 00:02:23,629 para practicar esto simplemente 54 00:02:23,629 --> 00:02:27,949 que todos deberíais haber hecho ayer por la tarde 55 00:02:27,949 --> 00:02:41,150 entonces el alumno ya no depende de nadie 56 00:02:41,150 --> 00:02:42,969 pues le habréis puesto el constructor 57 00:02:42,969 --> 00:02:48,360 los get y set 58 00:02:48,360 --> 00:03:00,099 entonces aquí ya nos podemos adelantar y avanzar 59 00:03:00,099 --> 00:03:02,860 como estamos caracterizando a una entidad 60 00:03:02,860 --> 00:03:04,520 que es un alumno, lo estamos caracterizando 61 00:03:04,520 --> 00:03:06,520 vamos a caracterizarlo del todo 62 00:03:06,520 --> 00:03:08,560 entonces ya hemos caracterizado 63 00:03:08,560 --> 00:03:10,060 sus propiedades 64 00:03:10,060 --> 00:03:12,120 lo que lo identifica, el NIF y el nombre 65 00:03:12,120 --> 00:03:14,139 el siguiente paso 66 00:03:14,139 --> 00:03:16,400 ¿vale? y algo de eso 67 00:03:16,400 --> 00:03:17,759 lo identifica de forma única 68 00:03:17,759 --> 00:03:20,539 ¿vale? una cosa es la 69 00:03:20,539 --> 00:03:21,580 información 70 00:03:21,580 --> 00:03:24,020 la información es NIF y nombre 71 00:03:24,020 --> 00:03:26,639 y luego otra cosa es la 72 00:03:26,639 --> 00:03:27,960 metainformación 73 00:03:27,960 --> 00:03:30,360 concepto que también 74 00:03:30,360 --> 00:03:31,740 tenéis que conocer, metainformación 75 00:03:31,740 --> 00:03:33,780 ¿metainformación qué significa? 76 00:03:35,180 --> 00:03:35,740 información 77 00:03:35,740 --> 00:03:39,919 sobre la información, es decir, la información es NIF y nombre, 78 00:03:40,099 --> 00:03:44,560 la información del alumno, y la meta información es cómo interpreto 79 00:03:44,560 --> 00:03:47,860 yo esos datos, es información sobre la información, bueno pues 80 00:03:47,860 --> 00:03:51,780 como parte de la meta información sería, oye NIF resulta 81 00:03:51,780 --> 00:03:56,240 que yo sé, porque sé lo que es un NIF en la vida real, sé que 82 00:03:56,240 --> 00:04:00,300 cada uno tiene un NIF único, lo sé, el nombre no, 83 00:04:01,240 --> 00:04:03,159 lo del nombre lo repetimos, pero el NIF no, 84 00:04:03,159 --> 00:04:04,479 entonces 85 00:04:04,479 --> 00:04:06,840 estos atributos 86 00:04:06,840 --> 00:04:09,020 además podemos extraer de ellos 87 00:04:09,020 --> 00:04:11,080 que este va a ser único para los alumnos 88 00:04:11,080 --> 00:04:13,280 eso automáticamente 89 00:04:13,280 --> 00:04:14,219 nos permite decir 90 00:04:14,219 --> 00:04:16,240 pues voy a hacer aquí un equals 91 00:04:16,240 --> 00:04:18,899 para que a todos los efectos 92 00:04:18,899 --> 00:04:20,240 de cara al resto del universo 93 00:04:20,240 --> 00:04:22,139 a todos los efectos 94 00:04:22,139 --> 00:04:24,959 dos alumnos con el mismo NIF sean iguales 95 00:04:24,959 --> 00:04:26,759 entonces si incorporamos el equals 96 00:04:26,759 --> 00:04:28,779 incorporamos esa 97 00:04:28,779 --> 00:04:30,620 caracterización añadida de igualdad 98 00:04:30,620 --> 00:04:32,980 y eso le va a ser muy útil a cualquiera 99 00:04:32,980 --> 00:04:34,180 que trabaje con alumnos 100 00:04:34,180 --> 00:04:36,100 porque si necesita en algún momento 101 00:04:36,100 --> 00:04:38,420 distinguir si dos objetos son iguales 102 00:04:38,420 --> 00:04:40,420 ya va a poder, si no ponemos un equals 103 00:04:40,420 --> 00:04:42,420 no va a poder, entonces no se trata 104 00:04:42,420 --> 00:04:43,959 solo de 105 00:04:43,959 --> 00:04:46,519 decidir que propiedades 106 00:04:46,519 --> 00:04:48,480 caracterizan a cada alumno, sino incorporar 107 00:04:48,480 --> 00:04:50,600 toda la información que es útil para trabajar 108 00:04:50,600 --> 00:04:52,720 con ellos, pues aquí es útil 109 00:04:52,720 --> 00:04:54,660 incorporar mediante un equals 110 00:04:54,660 --> 00:04:56,579 que dos alumnos con el mismo 111 00:04:56,579 --> 00:04:57,560 nif son iguales 112 00:04:57,560 --> 00:05:00,579 ¿vale? siempre y cuando 113 00:05:00,579 --> 00:05:01,639 pueda concluirlo 114 00:05:01,639 --> 00:05:04,000 que en este caso está claro 115 00:05:04,000 --> 00:05:06,120 bueno, pues entonces esto quedaría mucho más bonito 116 00:05:06,120 --> 00:05:08,319 si uno se hace 117 00:05:08,319 --> 00:05:10,319 un equals 118 00:05:10,319 --> 00:05:11,279 basado en if 119 00:05:11,279 --> 00:05:15,379 el hashCode fuera 120 00:05:15,379 --> 00:05:17,980 no nos gusta por ahora 121 00:05:17,980 --> 00:05:18,620 ¿vale? 122 00:05:20,240 --> 00:05:22,519 ¿que vamos a mostrar datos de alumnos 123 00:05:22,519 --> 00:05:24,180 en algún momento? pues también 124 00:05:24,180 --> 00:05:26,319 es una buena costumbre poner un toString 125 00:05:26,319 --> 00:05:28,220 como aparece en casi todas las clases 126 00:05:28,220 --> 00:05:30,019 un toString que si alguien llama un 127 00:05:30,019 --> 00:05:31,699 system.println o cualquier cosa 128 00:05:31,699 --> 00:05:34,439 en lugar de ponerle el toString de equals 129 00:05:34,439 --> 00:05:35,699 que es una arroba extraña 130 00:05:35,699 --> 00:05:37,439 pues pone lo que uno quiera 131 00:05:37,439 --> 00:05:39,879 bueno, pues buena costumbre 132 00:05:39,879 --> 00:05:42,660 poner un toString con el aspecto que a uno le dé la gana 133 00:05:42,660 --> 00:05:46,319 el que nos ofrece Eclipse 134 00:05:46,319 --> 00:05:47,040 es este 135 00:05:47,040 --> 00:05:50,180 ¿nos gusta este? pues sí, no hombre ya está 136 00:05:50,180 --> 00:05:52,160 ¿no nos gusta? pues lo cambiamos 137 00:05:52,160 --> 00:05:54,160 ah, el alumno está 138 00:05:54,160 --> 00:05:57,060 y profesor ya tiene las propiedades 139 00:05:57,060 --> 00:05:58,399 importamos list 140 00:05:58,399 --> 00:05:59,439 array list 141 00:05:59,439 --> 00:06:02,970 estamos repitiendo lo mismo 142 00:06:02,970 --> 00:06:04,649 una, una y otra vez 143 00:06:04,649 --> 00:06:06,610 así que si no os queda después de esto 144 00:06:06,610 --> 00:06:09,610 tenéis un problema de fósforo 145 00:06:09,610 --> 00:06:11,329 vale 146 00:06:11,329 --> 00:06:12,110 a ver 147 00:06:12,110 --> 00:06:15,509 ya tenemos las propiedades 148 00:06:15,509 --> 00:06:17,310 pues lo de siempre, un constructor 149 00:06:17,310 --> 00:06:19,930 aquí 150 00:06:19,930 --> 00:06:22,769 meter en el constructor 151 00:06:22,769 --> 00:06:24,790 la colección 152 00:06:24,790 --> 00:06:27,310 pues quizá lo mismo que he dicho otras veces 153 00:06:27,310 --> 00:06:29,509 pues a lo mejor es poco práctico 154 00:06:29,509 --> 00:06:31,329 porque lo natural es que cuando uno 155 00:06:31,329 --> 00:06:33,329 da de alta a un profesor porque ha llegado al instituto 156 00:06:33,329 --> 00:06:35,329 da de alta a un profesor, da de alta al profesor 157 00:06:35,329 --> 00:06:37,329 con su nifo y su nombre y los alumnos 158 00:06:37,329 --> 00:06:39,310 irán llegando, entonces en el momento 159 00:06:39,310 --> 00:06:41,329 de instanciar el profesor que se hace con el 160 00:06:41,329 --> 00:06:43,370 constructor, pues ahí una situación 161 00:06:43,370 --> 00:06:45,370 habitual es que solo tenga 162 00:06:45,370 --> 00:06:47,110 en ese momento nif y nombre, entonces 163 00:06:47,110 --> 00:06:48,990 tiene sentido hacer un constructor con nif y nombre 164 00:06:48,990 --> 00:06:51,230 pero de nuevo todas estas cosas 165 00:06:51,230 --> 00:06:53,269 se hacen después 166 00:06:53,269 --> 00:06:55,189 de haber hecho toda esa fase de análisis en las que 167 00:06:55,189 --> 00:06:56,110 se ha entendido 168 00:06:56,110 --> 00:06:58,810 cuál es la situación real en la que se va a trabajar 169 00:06:58,810 --> 00:07:01,189 entonces pues se va a trabajar una secretaría 170 00:07:01,189 --> 00:07:03,670 Un profe llega que le acaba de mandar la consejería 171 00:07:03,670 --> 00:07:04,850 Venga, que te doy de alta 172 00:07:04,850 --> 00:07:07,129 Ya está, te doy de alta con nifinombre 173 00:07:07,129 --> 00:07:08,790 Pues un constructor con nifinombre 174 00:07:08,790 --> 00:07:21,339 Luego, como siempre he dicho 175 00:07:21,339 --> 00:07:23,639 No es que haya la forma buena 176 00:07:23,639 --> 00:07:25,279 Y la forma mala de hacer las cosas 177 00:07:25,279 --> 00:07:27,639 Hay la forma 178 00:07:27,639 --> 00:07:29,699 Que resuelve una situación 179 00:07:29,699 --> 00:07:30,759 Y la forma que 180 00:07:30,759 --> 00:07:33,399 No la resuelve un poquito peor 181 00:07:33,399 --> 00:07:35,120 Ya está, no hay ni buena ni mala 182 00:07:35,120 --> 00:07:36,920 Si no hay situaciones distintas 183 00:07:36,920 --> 00:07:42,029 Vale, faltarían aquí los get y set 184 00:07:42,029 --> 00:07:45,430 de todas las propiedades 185 00:07:45,430 --> 00:07:48,610 y aquí podríamos hacer ya 186 00:07:48,610 --> 00:07:50,709 la siguiente visita 187 00:07:50,709 --> 00:07:52,709 de nuevo aquí 188 00:07:52,709 --> 00:07:54,730 hay clave primaria 189 00:07:54,730 --> 00:07:56,649 y hay algo que yo puedo interpretar como clave primaria 190 00:07:56,649 --> 00:07:58,550 hombre pues sí, está claro que 191 00:07:58,550 --> 00:08:00,189 los profesores van a tener todos diferentes 192 00:08:00,189 --> 00:08:01,730 NIF o NIE o lo que sea 193 00:08:01,730 --> 00:08:04,610 bueno, si hay algo que puedo identificar como 194 00:08:04,610 --> 00:08:06,850 clave primaria a todos los efectos 195 00:08:06,850 --> 00:08:07,689 de mi aplicación 196 00:08:07,689 --> 00:08:09,350 pues ala 197 00:08:09,350 --> 00:08:11,750 pongo un equals 198 00:08:11,750 --> 00:08:18,139 con el nif 199 00:08:18,139 --> 00:08:19,860 y mucho más bonito 200 00:08:19,860 --> 00:08:22,660 y ya si lo quiero dejar 201 00:08:22,660 --> 00:08:23,779 estupendísimo 202 00:08:23,779 --> 00:08:26,519 pues pongo un toString 203 00:08:26,519 --> 00:08:30,949 en el toString 204 00:08:30,949 --> 00:08:32,990 meter la lista 205 00:08:32,990 --> 00:08:34,610 no tiene mucho sentido 206 00:08:34,610 --> 00:08:38,009 en el toString de profesor 207 00:08:38,009 --> 00:08:39,649 pues lo natural es meter 208 00:08:39,649 --> 00:08:40,710 nif, nombre y ya está 209 00:08:40,710 --> 00:08:43,110 porque de hecho si metemos la lista 210 00:08:43,110 --> 00:08:45,669 ¿qué me hace el toString 211 00:08:45,669 --> 00:08:46,330 este de Eclipse? 212 00:08:48,850 --> 00:08:49,789 me muestra 213 00:08:49,789 --> 00:08:52,789 NIF, nombre, alumnos 214 00:08:52,789 --> 00:08:54,830 y luego aquí directamente la referencia 215 00:08:54,830 --> 00:08:56,730 a la lista, con lo cual este 216 00:08:56,730 --> 00:08:58,710 a su vez llamará al toString de lista 217 00:08:58,710 --> 00:09:00,149 que me ha mostrado una patata 218 00:09:00,149 --> 00:09:02,490 entonces este toString no nos vale 219 00:09:02,490 --> 00:09:04,750 este toString va a 220 00:09:04,750 --> 00:09:06,009 mostrar una patata muy fea 221 00:09:06,009 --> 00:09:08,909 o me meto yo ahí en un for para mostrar los alumnos 222 00:09:08,909 --> 00:09:10,870 que ya sería un toString muy complicado 223 00:09:10,870 --> 00:09:12,710 o va, paso de ellos 224 00:09:12,710 --> 00:09:14,889 directamente, como acostumbramos a hacer 225 00:09:14,889 --> 00:09:15,730 vale 226 00:09:15,730 --> 00:09:21,429 ya está, ya tengo un toString 227 00:09:21,429 --> 00:09:27,240 de profesor, y ya 228 00:09:27,240 --> 00:09:29,340 tenéis las dos clases, profesor 229 00:09:29,340 --> 00:09:31,460 alumno, y ahora insertar profesor 230 00:09:31,460 --> 00:09:32,960 add 231 00:09:32,960 --> 00:09:34,980 que lo hacéis, vale 232 00:09:34,980 --> 00:09:37,360 ahora, nuestro 233 00:09:37,360 --> 00:09:39,159 main, este ejercicio dice que 234 00:09:39,159 --> 00:09:41,279 en el main, es donde están los 235 00:09:41,279 --> 00:09:43,639 datos, y los datos es el conjunto de profesores 236 00:09:43,639 --> 00:09:45,419 vamos a hacer un main 237 00:09:45,419 --> 00:09:53,350 ahí 238 00:09:53,350 --> 00:09:55,509 no he puesto esto 239 00:09:55,509 --> 00:10:08,850 ah, la dice, el main 240 00:10:08,850 --> 00:10:10,649 el propio main, hace el volcado 241 00:10:10,649 --> 00:10:12,909 de los datos, de la base de datos y los lleva 242 00:10:12,909 --> 00:10:14,610 a la variable que sea 243 00:10:14,610 --> 00:10:16,809 entonces todos los profes tienen que ir 244 00:10:16,809 --> 00:10:18,629 a una variable para poder 245 00:10:18,629 --> 00:10:20,570 manejarlo, pues ¿a cuál? ¿a una array? 246 00:10:20,649 --> 00:10:22,309 ¿a una lista? ¿un set? pues a una lista 247 00:10:22,309 --> 00:10:24,850 pues sale a todos los profesores 248 00:10:24,850 --> 00:10:25,889 con los que vamos a trabajar 249 00:10:25,889 --> 00:10:28,289 ahí estarán 250 00:10:28,289 --> 00:10:29,889 profesores 251 00:10:29,889 --> 00:10:34,529 la implementación de lista que a uno 252 00:10:34,529 --> 00:10:36,450 le dé la gana, aunque ya sabéis que hay 253 00:10:36,450 --> 00:10:37,429 unos criterios 254 00:10:37,429 --> 00:10:39,490 linked list mejor 255 00:10:39,490 --> 00:10:41,789 para inserciones y 256 00:10:41,789 --> 00:10:42,669 borrados 257 00:10:42,669 --> 00:10:46,250 y peor para consultas y ArrayList 258 00:10:46,250 --> 00:10:47,190 justo al revés 259 00:10:47,190 --> 00:11:01,519 vale, pues entonces si uno 260 00:11:01,519 --> 00:11:03,720 hace aquí, hacemos rápidamente el main 261 00:11:03,720 --> 00:11:05,820 para que sea bueno, como si fuera un ejercicio 262 00:11:05,820 --> 00:11:07,720 real 263 00:11:07,720 --> 00:11:09,700 de examen o algo así, aunque va a ser más 264 00:11:09,700 --> 00:11:10,019 difícil 265 00:11:10,019 --> 00:11:15,759 voy a poner lo del teclado 266 00:11:15,759 --> 00:11:17,200 para que sea más cómodo 267 00:11:17,200 --> 00:11:28,559 añadimos esto 268 00:11:28,559 --> 00:12:18,669 Vale, pues entonces aquí tenemos la opción, y ahora ya sí, insertar profesor, una de las opciones del menú, la otra era dado nombre de alumno, dado NIF, perdón, porque es lo que lo identifica, profes que dan clase a ese alumno, 269 00:12:18,669 --> 00:12:23,149 Porque hay que avisarles de que se ha puesto enfermo o lo que sea. 270 00:12:24,190 --> 00:12:34,179 Pues entonces, profes de un alumno dado NIF. 271 00:12:35,779 --> 00:12:37,600 Esta sería la opción 2. 272 00:12:39,879 --> 00:12:41,000 Y la 3. 273 00:12:46,320 --> 00:12:51,440 Y la 3 sería listado alfabético de alumnos de un profe. 274 00:12:52,179 --> 00:12:54,299 Aquí ya hay que hacer cosas de orden. 275 00:13:04,690 --> 00:13:06,629 Alfabético de alumnos. 276 00:13:07,009 --> 00:13:07,370 Vale. 277 00:13:07,370 --> 00:13:22,590 Y ahora aquí leeríamos la opción y ahora ya el rollo de siempre. 278 00:13:29,320 --> 00:13:41,419 En el caso de que la opción sea la primera, pues aquí ya sabemos que habrá que leer todos los datos del profesor. 279 00:13:42,860 --> 00:13:53,480 Esto es un rollo, para lo cual aquí sería más bonito hacer un método auxiliar, llamar a ese método recoger datos, por ejemplo, para que no nos quede ahí un case con un montón de líneas. 280 00:13:53,480 --> 00:13:58,000 Y luego una vez que hemos leído los datos de profesor 281 00:13:58,000 --> 00:13:59,980 Pues habría que instanciarlo y añadirlo 282 00:13:59,980 --> 00:14:01,720 A la lista de profesores 283 00:14:01,720 --> 00:14:10,299 Aquí tendríamos, ¿no? 284 00:14:10,379 --> 00:14:12,740 Un profesor P al que le leemos los datos 285 00:14:12,740 --> 00:14:19,259 Y este pues ya lo añadiríamos 286 00:14:19,259 --> 00:14:20,240 A la lista y ya está 287 00:14:20,240 --> 00:14:32,139 Vale 288 00:14:32,139 --> 00:14:34,840 Y ahora, la que nos interesa 289 00:14:34,840 --> 00:14:35,840 Opción 2 290 00:14:35,840 --> 00:14:37,379 Dado un NIF 291 00:14:37,379 --> 00:14:41,879 Todos los de alumno, todos los profes que lo tienen 292 00:14:41,879 --> 00:14:43,700 Entonces vamos a hacer aquí 293 00:14:43,700 --> 00:14:45,340 La petición del dato del NIF 294 00:14:45,340 --> 00:14:56,139 vale, pues el nif es un string 295 00:14:56,139 --> 00:15:03,110 lo leeríamos con el mecanismo 296 00:15:03,110 --> 00:15:04,389 de lectura que os guste 297 00:15:04,389 --> 00:15:06,909 y ahora ya 298 00:15:06,909 --> 00:15:08,789 habrá que hacer todo el código 299 00:15:08,789 --> 00:15:10,830 correspondiente para buscar en la lista de 300 00:15:10,830 --> 00:15:12,789 profesores, que profesor tiene ese 301 00:15:12,789 --> 00:15:15,029 alumno, incorporarlo 302 00:15:15,029 --> 00:15:17,210 al resultado, mostrarlo por consola, lo que sea 303 00:15:17,210 --> 00:15:20,850 entonces aquí, en lugar de hacer 304 00:15:20,850 --> 00:15:22,750 todo eso ahí, vamos a llamar a un método 305 00:15:22,750 --> 00:15:27,029 que lo haga 306 00:15:27,029 --> 00:15:28,450 vamos a cambiar la estructura 307 00:15:28,450 --> 00:15:30,049 en vez de meterlo en un método de operaciones 308 00:15:30,049 --> 00:15:32,870 pues un método auxiliar dentro del mismo main 309 00:15:32,870 --> 00:15:41,049 vale, entonces si yo tengo 310 00:15:41,049 --> 00:15:41,769 este método 311 00:15:41,769 --> 00:15:44,929 en lugar de ponerlo aquí, repito, simplemente 312 00:15:44,929 --> 00:15:46,169 lo hago llamando a un método 313 00:15:46,169 --> 00:15:48,269 que está en la misma clase 314 00:15:48,269 --> 00:15:50,850 pero vamos, voy a poner el código 315 00:15:50,850 --> 00:15:51,730 dentro de ese método 316 00:15:51,730 --> 00:15:53,750 entonces este método 317 00:15:53,750 --> 00:15:56,850 este método será este 318 00:15:56,850 --> 00:15:58,629 ¿veis? 319 00:15:58,669 --> 00:15:59,809 un método auxiliar 320 00:15:59,809 --> 00:16:02,409 que va a coger el nif 321 00:16:02,409 --> 00:16:04,830 y va a recorrer 322 00:16:04,830 --> 00:16:07,110 esta lista de profesores 323 00:16:07,110 --> 00:16:07,769 vale 324 00:16:07,769 --> 00:16:12,789 y edu 325 00:16:12,789 --> 00:16:15,090 este es el final del switch 326 00:16:15,090 --> 00:16:16,909 por ahora 327 00:16:16,909 --> 00:16:23,350 y aquí faltaría 328 00:16:23,350 --> 00:16:24,909 el while, mientras 329 00:16:24,909 --> 00:16:27,309 la opción sea diferente 330 00:16:27,309 --> 00:16:29,610 de la de salir, que vamos a ponerle la de salir 331 00:16:29,610 --> 00:16:32,389 la 0 332 00:16:32,389 --> 00:16:48,710 vale, pues a ver, venga, observad 333 00:16:48,710 --> 00:16:50,570 entonces esta estructura 334 00:16:50,570 --> 00:16:52,350 otra vez, este es mi main 335 00:16:52,350 --> 00:16:54,470 y dentro de mi main está la lista 336 00:16:54,470 --> 00:16:55,870 de profesores con la que voy a trabajar 337 00:16:55,870 --> 00:16:57,990 a la que luego voy a insertar aquí 338 00:16:57,990 --> 00:17:00,490 la que voy a recorrer, aquí está mi lista de profesores 339 00:17:00,490 --> 00:17:02,590 vale, la opción 2 340 00:17:02,590 --> 00:17:04,509 que es la primera que estoy haciendo, pido el 341 00:17:04,509 --> 00:17:06,390 nif y ahora voy a pasárselo 342 00:17:06,390 --> 00:17:06,990 a un método 343 00:17:06,990 --> 00:17:10,089 para que haga 344 00:17:10,089 --> 00:17:12,450 todo lo que tenga que hacer y ya ese método 345 00:17:12,450 --> 00:17:14,369 tenga los system out dentro para mostrar 346 00:17:14,369 --> 00:17:16,109 lo recorro en un método 347 00:17:16,109 --> 00:17:18,390 entonces este método 348 00:17:18,390 --> 00:17:20,509 de nuevo ves que no lo estoy llamando 349 00:17:20,509 --> 00:17:21,950 asociado a ningún objeto lo cual 350 00:17:21,950 --> 00:17:22,869 es 351 00:17:22,869 --> 00:17:25,069 no se puede 352 00:17:25,069 --> 00:17:28,069 ya sabéis que a los métodos 353 00:17:28,069 --> 00:17:30,609 y a las variables los llaman los objetos 354 00:17:30,609 --> 00:17:32,569 salvo en el caso de ser 355 00:17:32,569 --> 00:17:34,450 estáticos que entonces 356 00:17:34,450 --> 00:17:36,569 lo que los llaman son las clases 357 00:17:36,569 --> 00:17:38,690 y de oye método estático o variable 358 00:17:38,690 --> 00:17:39,789 estática de esta clase 359 00:17:39,789 --> 00:17:42,910 pero aquí no lo he llamado asociado a nada 360 00:17:42,910 --> 00:17:44,910 ¿por qué? 361 00:17:45,289 --> 00:17:46,329 no lo he llamado asociado a nada 362 00:17:46,329 --> 00:17:47,589 porque este método está 363 00:17:47,589 --> 00:17:49,549 en la misma clase 364 00:17:49,549 --> 00:17:51,710 Entonces como está en la misma clase 365 00:17:51,710 --> 00:17:53,329 Esto es como 366 00:17:53,329 --> 00:17:54,930 Si yo no lo asocio a nada 367 00:17:54,930 --> 00:17:57,150 Por defecto es la clase en la que estoy 368 00:17:57,150 --> 00:17:59,930 Es como si estuviera haciendo esto 369 00:17:59,930 --> 00:18:00,970 ¿Vale? 370 00:18:03,569 --> 00:18:03,950 ¿Vale? 371 00:18:05,630 --> 00:18:07,069 Estamos repasando como siempre 372 00:18:07,069 --> 00:18:10,349 Mostrar profes es un método estático 373 00:18:10,349 --> 00:18:12,130 Mostrar profes es un método estático 374 00:18:12,130 --> 00:18:13,089 De mi clase main 375 00:18:13,089 --> 00:18:15,509 Es un método estático de mi clase main 376 00:18:15,509 --> 00:18:17,609 Entonces como es un método estático 377 00:18:17,609 --> 00:18:18,450 De mi clase main 378 00:18:18,450 --> 00:18:20,109 Yo lo llamo con el nombre de la clase 379 00:18:20,109 --> 00:18:22,289 pero 380 00:18:22,289 --> 00:18:24,150 como en este caso 381 00:18:24,150 --> 00:18:26,730 main es la misma clase en la que estoy 382 00:18:26,730 --> 00:18:28,690 main es en la que estoy, no es otra 383 00:18:28,690 --> 00:18:29,650 es en la que estoy 384 00:18:29,650 --> 00:18:32,150 este main es opcional 385 00:18:32,150 --> 00:18:33,789 en este caso 386 00:18:33,789 --> 00:18:36,990 ¿vale? porque en este caso la clase 387 00:18:36,990 --> 00:18:40,750 que llama el método es la misma 388 00:18:40,750 --> 00:18:41,390 en la que estoy 389 00:18:41,390 --> 00:18:44,349 si yo llamara un método estático de otra clase 390 00:18:44,349 --> 00:18:46,490 ahí sí que tengo que poner el nombre de la clase sí o sí 391 00:18:46,490 --> 00:18:48,789 pero si estoy llamando un método 392 00:18:48,789 --> 00:18:52,829 estático de la misma clase en la que estoy, sería opcional, ¿vale? 393 00:18:52,950 --> 00:18:56,789 Lo digo porque siempre que aparece un método suelto parece que no lo llama nadie y siempre 394 00:18:56,789 --> 00:19:00,710 lo llama alguien. Un objeto, si es que no es 395 00:19:00,710 --> 00:19:04,769 estático, o una clase si es que es estático, ¿vale? Bueno, eso por 396 00:19:04,769 --> 00:19:10,230 un lado. Siguiente cosa. Ahora 397 00:19:10,230 --> 00:19:14,190 yo ya podría ponerme aquí a navegar por los profesores. Yo aquí lo que tengo que hacer 398 00:19:14,190 --> 00:19:18,269 es navegar por los profesores, cada profesor, si tiene un alumno con 399 00:19:18,269 --> 00:19:20,250 este nif, mostrarlo 400 00:19:20,250 --> 00:19:22,269 bueno, pues podría ya ponerme 401 00:19:22,269 --> 00:19:27,299 aquí a hacer eso, me falta 402 00:19:27,299 --> 00:19:32,609 algo, no, por ejemplo 403 00:19:32,609 --> 00:19:34,750 vamos a ponernos a navegar por la lista de profesores 404 00:19:34,750 --> 00:19:37,069 para ver si ese profesor 405 00:19:37,069 --> 00:19:39,029 contiene al alumno 406 00:19:39,029 --> 00:19:40,230 y si lo contiene lo muestro 407 00:19:40,230 --> 00:19:43,329 pues navegar la lista de profesores 408 00:19:43,329 --> 00:19:44,329 es una lista 409 00:19:44,329 --> 00:19:47,130 ¿cómo recorro una lista? 410 00:19:47,869 --> 00:19:49,349 un for de índice 411 00:19:49,349 --> 00:19:51,349 con el get, un for each, un iterador 412 00:19:51,349 --> 00:19:53,069 vamos a poner 413 00:19:53,069 --> 00:19:55,569 un for de índice que es lo más habitual para las listas 414 00:19:55,569 --> 00:19:57,029 porque tienen posición 415 00:19:57,029 --> 00:19:59,650 los iteradores son más para conjuntos 416 00:19:59,650 --> 00:20:02,930 y sea menor que 417 00:20:02,930 --> 00:20:04,490 ¿cómo se llama la lista? 418 00:20:04,829 --> 00:20:06,150 se llama profesores 419 00:20:06,150 --> 00:20:10,450 profesores.size 420 00:20:10,450 --> 00:20:14,119 incrementando 421 00:20:14,119 --> 00:20:16,400 y pues aquí tendríamos que hacer 422 00:20:16,400 --> 00:20:22,180 aquí tendríamos que hacer 423 00:20:22,180 --> 00:20:27,319 Si profesores tiene al alumno I, habría que ver cómo es eso de tiene al alumno I. 424 00:20:27,740 --> 00:20:29,299 Pues muestro profesores, vale. 425 00:20:30,359 --> 00:20:34,160 Pero se me ha puesto en rojillo, ¿verdad? 426 00:20:35,920 --> 00:20:39,400 ¿Por qué se me ha puesto en rojillo esto? 427 00:20:40,200 --> 00:20:42,059 Sin que lo miréis en la manita. 428 00:20:45,359 --> 00:20:54,200 Eh, Diego, no es por eso. 429 00:20:54,200 --> 00:21:01,079 este método es el que yo he hecho 430 00:21:01,079 --> 00:21:02,859 para recorrer la lista de profesores 431 00:21:02,859 --> 00:21:04,359 que tengo aquí arriba 432 00:21:04,359 --> 00:21:07,039 esta, para recorrerla 433 00:21:07,039 --> 00:21:08,759 y para cada profesor 434 00:21:08,759 --> 00:21:10,519 pues mirar si tiene alumno con este NIF, etc. 435 00:21:10,740 --> 00:21:12,980 pero antes de arrancar a hacerlo ya me pone 436 00:21:12,980 --> 00:21:14,759 eso que no, ¿por qué? 437 00:21:16,059 --> 00:21:17,000 si yo pongo aquí 438 00:21:17,000 --> 00:21:18,039 la manilla, ¿qué 439 00:21:18,039 --> 00:21:19,980 error me va a dar? 440 00:21:24,019 --> 00:21:24,420 bueno 441 00:21:24,420 --> 00:21:57,150 No, estar está, lo que pasa es que no tiene, inicializada está, o sea que no está inicializada no, ¿qué otra cosa me va a decir? Sin ponerla vosotros, no me va a decir que no sea public, aparte es que el modificador public yo no puedo ponerlo aquí, el modificador public se pone en las propiedades de las clases, esto no es una propiedad de una clase, es una variable del método, es distinto una propiedad de clase, 442 00:21:57,490 --> 00:21:59,569 que se pone aquí, que una propiedad 443 00:21:59,569 --> 00:22:01,529 de método, que es una propiedad 444 00:22:01,529 --> 00:22:02,950 no, una variable local de un método 445 00:22:02,950 --> 00:22:07,509 venga, ¿qué error me va a decir ahí en rojo? 446 00:22:15,369 --> 00:22:16,369 va por ahí, sí 447 00:22:16,369 --> 00:22:19,009 pero exactamente ¿qué me va a decir? 448 00:22:25,710 --> 00:22:26,750 me va a decir 449 00:22:26,750 --> 00:22:29,309 is not visible 450 00:22:29,309 --> 00:22:31,690 no me va a decir 451 00:22:31,690 --> 00:22:34,009 oye, o no visible 452 00:22:34,009 --> 00:22:35,789 perdón, que no la conozco 453 00:22:35,789 --> 00:22:37,990 me va a decir, ¿quién es profesores? 454 00:22:38,390 --> 00:22:40,130 no la conozco, eso es lo que me va a decir 455 00:22:43,039 --> 00:22:44,779 ¿Veis? Me dice 456 00:22:44,779 --> 00:22:46,680 cannot, no puede ser resuelta. 457 00:22:47,319 --> 00:22:49,200 No la conozco, no puede ser resuelta. 458 00:22:50,019 --> 00:22:50,900 Eso es lo que va a decir, ¿no? 459 00:22:51,079 --> 00:22:52,900 Desconocida, variable desconocida. 460 00:22:53,900 --> 00:22:55,220 Claro, y tan desconocida 461 00:22:55,220 --> 00:22:56,880 porque tenemos dos 462 00:22:56,880 --> 00:22:58,680 métodos. Main es un método 463 00:22:58,680 --> 00:23:00,039 que acaba y termina aquí. 464 00:23:01,740 --> 00:23:02,359 Este es otro 465 00:23:02,359 --> 00:23:04,960 que acaba y termina aquí. Las variables 466 00:23:04,960 --> 00:23:06,319 locales de un método 467 00:23:06,319 --> 00:23:08,819 no son visibles para otro método. 468 00:23:08,819 --> 00:23:10,299 Una variable local de un método 469 00:23:10,299 --> 00:23:12,740 tiene visibilidad solo 470 00:23:12,740 --> 00:23:14,900 en ese bloque, no tiene visibilidad 471 00:23:14,900 --> 00:23:16,660 afuera, entonces 472 00:23:16,660 --> 00:23:19,000 mi variable profesor es, yo la he declarado 473 00:23:19,000 --> 00:23:19,900 aquí dentro del main 474 00:23:19,900 --> 00:23:22,980 que es el que hace las cosas, trabaja 475 00:23:22,980 --> 00:23:24,799 y ahí está, no pasa nada, puede estar ahí 476 00:23:24,799 --> 00:23:27,019 perfectamente, porque va a estar ahí 477 00:23:27,019 --> 00:23:29,240 toda la vida del main, toda la vida del programa 478 00:23:29,240 --> 00:23:30,720 porque el main va a estar ahí 479 00:23:30,720 --> 00:23:33,019 pero todo lo que yo 480 00:23:33,019 --> 00:23:35,259 haga fuera del main, es imposible 481 00:23:35,259 --> 00:23:36,819 que tenga acceso a esta variable 482 00:23:36,819 --> 00:23:37,660 porque es local 483 00:23:37,660 --> 00:23:40,599 ¿vale? entonces 484 00:23:40,599 --> 00:23:43,420 era de esperar que esos me pusieran rojillo 485 00:23:43,420 --> 00:23:45,180 y me dijeran no conozco profesores 486 00:23:45,180 --> 00:23:47,119 vale, bueno 487 00:23:47,119 --> 00:23:48,720 pues soluciones 488 00:23:48,720 --> 00:23:51,420 primera solución que se os ocurre 489 00:23:51,420 --> 00:23:55,579 decirle no la conoces 490 00:23:55,579 --> 00:23:57,000 te la paso por parámetro 491 00:23:57,000 --> 00:23:59,380 tranquilo, no pasa nada, te la paso por parámetro 492 00:23:59,380 --> 00:24:01,660 entonces este método 493 00:24:01,660 --> 00:24:02,880 mostrar profesores 494 00:24:02,880 --> 00:24:05,019 que reciba el NIF 495 00:24:05,019 --> 00:24:07,640 y la lista de profes con la que trabajar 496 00:24:07,640 --> 00:24:16,700 llamémosle profesores 497 00:24:16,700 --> 00:24:18,180 lista como... ¡Uy, profe! 498 00:24:20,640 --> 00:24:22,559 ¿Vale? Dice, no puedes acceder 499 00:24:22,559 --> 00:24:24,400 a ella porque es local al 500 00:24:24,400 --> 00:24:25,839 método main, con lo cual desde 501 00:24:25,839 --> 00:24:27,799 fuera de main no puedes. 502 00:24:28,339 --> 00:24:29,480 Te la paso por parámetro. 503 00:24:30,279 --> 00:24:32,460 ¿Vale? Entonces, ahora 504 00:24:32,460 --> 00:24:33,599 cuando llamemos el método, 505 00:24:34,759 --> 00:24:36,500 habrá que pasarle la lista con la 506 00:24:36,500 --> 00:24:37,400 que queremos trabajar. 507 00:24:39,950 --> 00:24:40,470 ¿Vale? 508 00:24:41,130 --> 00:24:43,029 Esta es una solución. 509 00:24:49,250 --> 00:24:50,930 Y otra, si es que 510 00:24:50,930 --> 00:24:53,349 podemos, otra sería sacarla 511 00:24:53,349 --> 00:24:56,890 de aquí, ¿no? O sea, si el problema es que es local a main 512 00:24:56,890 --> 00:25:00,710 y por tanto fuera de main no puedo, pues hombre 513 00:25:00,710 --> 00:25:05,490 si la saco como variable de clase, si la saco como variable de clase 514 00:25:05,490 --> 00:25:09,809 y la pongo aquí, esta, si la saco 515 00:25:09,809 --> 00:25:13,410 fuera, ya pueden acceder a ella cualquier método 516 00:25:13,410 --> 00:25:17,589 de la clase main, ¿no? Es el otro, es decir, la saco 517 00:25:17,589 --> 00:25:23,059 fuera. Vale, sacarla fuera así tal cual, hacer un copia y pega 518 00:25:23,059 --> 00:25:24,539 de esto aquí, pum, copio 519 00:25:24,539 --> 00:25:27,319 corto más bien, corto y pego 520 00:25:27,319 --> 00:25:28,900 eso tal cual 521 00:25:28,900 --> 00:25:30,720 corto y pego sería una solución 522 00:25:30,720 --> 00:25:33,559 no, porque no, que más habría que poner 523 00:25:33,559 --> 00:25:39,220 o no, razonadlo 524 00:25:39,220 --> 00:25:44,980 ya, pero que no es un tema de que no me acuerdo 525 00:25:44,980 --> 00:25:46,500 porque me falla la memoria 526 00:25:46,500 --> 00:25:48,200 sino es 527 00:25:48,200 --> 00:25:50,200 que lo razonéis 528 00:25:50,200 --> 00:25:52,779 que esto no lo habréis aprendido de memoria, que lo habréis entendido 529 00:25:52,779 --> 00:25:56,039 Entonces si yo hago un corta y pega 530 00:25:56,039 --> 00:25:56,880 Y saco esto fuera 531 00:25:56,880 --> 00:25:59,500 El problema está resuelto, puedo trabajar ya dentro 532 00:25:59,500 --> 00:26:02,059 De los métodos con la variable profesores 533 00:26:02,059 --> 00:26:03,200 Tanto de este como del otro 534 00:26:03,200 --> 00:26:09,890 Vamos a hacer un corta y pega 535 00:26:09,890 --> 00:26:12,190 Hago un corta 536 00:26:12,190 --> 00:26:15,140 Y pega 537 00:26:15,140 --> 00:26:19,579 Ya, pero no me vale que me digáis las cosas como conejos 538 00:26:19,579 --> 00:26:21,880 A ver, entonces, y voy a poner la situación en la que estaba 539 00:26:21,880 --> 00:26:23,619 En la que ya no se lo paso como parámetro 540 00:26:23,619 --> 00:26:25,960 Ya no se lo paso 541 00:26:25,960 --> 00:26:31,519 vale, ya no se lo paso como parámetro 542 00:26:31,519 --> 00:26:33,359 no se lo paso 543 00:26:33,359 --> 00:26:35,019 ¿por qué? porque la he sacado 544 00:26:35,019 --> 00:26:37,099 fuera, ahora es una variable de clase 545 00:26:37,099 --> 00:26:39,240 ahora es una variable de clase 546 00:26:39,240 --> 00:26:41,079 todos los 547 00:26:41,079 --> 00:26:42,359 métodos de la clase 548 00:26:42,359 --> 00:26:45,059 tienen visibilidad de esa variable, todos 549 00:26:45,059 --> 00:26:46,519 una variable de clase, ¿no? todos 550 00:26:46,519 --> 00:26:47,839 pero aún así 551 00:26:47,839 --> 00:26:51,160 cuando yo intento acceder a 552 00:26:51,160 --> 00:26:53,400 profesores aquí, me sigue poniendo en rojo 553 00:26:53,400 --> 00:26:55,319 entonces sin poner ahí la manita 554 00:26:55,319 --> 00:26:57,079 ¿qué error me está diciendo ahora ahí? 555 00:26:57,220 --> 00:26:58,680 me sigue dando un error, sí o sí 556 00:26:58,680 --> 00:27:01,160 desde luego ya no va a ser 557 00:27:01,160 --> 00:27:02,660 profesores cannot be resolved 558 00:27:02,660 --> 00:27:03,559 ya no va a ser 559 00:27:03,559 --> 00:27:05,900 porque profesores claro que puede ser resuelta 560 00:27:05,900 --> 00:27:07,339 tienes perfectamente acceso a ello 561 00:27:07,339 --> 00:27:08,460 es una variable de la clase 562 00:27:08,460 --> 00:27:12,019 pues que error nos va a dar ahí 563 00:27:12,019 --> 00:27:16,349 claro me va a decir 564 00:27:16,349 --> 00:27:18,769 no puedes referenciar a una variable 565 00:27:18,769 --> 00:27:21,289 no estática dentro de un método estático 566 00:27:21,289 --> 00:27:23,150 eso era el concepto de estático 567 00:27:23,150 --> 00:27:23,450 verdad 568 00:27:23,450 --> 00:27:25,549 que es justo lo que me dice 569 00:27:25,549 --> 00:27:26,369 oye 570 00:27:26,369 --> 00:27:30,329 no puedes referenciar a una variable estática 571 00:27:30,329 --> 00:27:33,210 a una variable no estática 572 00:27:33,210 --> 00:27:35,250 en un contexto estático 573 00:27:35,250 --> 00:27:38,779 claro, si esto es un método 574 00:27:38,779 --> 00:27:40,900 estático, entonces uno podría 575 00:27:40,900 --> 00:27:42,500 decir, ah, estupendo 576 00:27:42,500 --> 00:27:43,920 no pasa nada 577 00:27:43,920 --> 00:27:45,519 le quito el static 578 00:27:45,519 --> 00:27:48,079 genial 579 00:27:48,079 --> 00:27:50,640 le quito el static, ningún problema 580 00:27:50,640 --> 00:27:52,980 este método ya puede acceder a profesores 581 00:27:52,980 --> 00:27:53,720 perfectamente 582 00:27:53,720 --> 00:27:56,180 pero ahora en qué le ha cagado 583 00:27:56,180 --> 00:27:58,380 ahora ya sí que le ha cagado y ha roto la aplicación del todo 584 00:27:58,380 --> 00:28:00,599 ¿no? 585 00:28:00,640 --> 00:28:01,500 le he quitado el static 586 00:28:01,500 --> 00:28:04,359 para que ya pueda acceder a la variable de clase 587 00:28:04,359 --> 00:28:06,200 no estática que yo he pegado 588 00:28:06,200 --> 00:28:08,200 arriba, y ahora me dice 589 00:28:08,200 --> 00:28:10,079 vale, este se ha quedado tranquilo, pero 590 00:28:10,079 --> 00:28:11,960 arriba ha explotado todo 591 00:28:11,960 --> 00:28:13,839 ¿por qué ha explotado? 592 00:28:17,940 --> 00:28:19,819 porque no puedo llamar desde main 593 00:28:19,819 --> 00:28:22,019 que es estático, no puedo llamar a un método que no sea 594 00:28:22,019 --> 00:28:24,079 estático, ¿vale? ahora el que ha saltado 595 00:28:24,079 --> 00:28:25,980 es este, main es un 596 00:28:25,980 --> 00:28:27,940 método estático y esto sí que no lo puedo 597 00:28:27,940 --> 00:28:30,079 cambiar sí o sí, esto no lo puedo cambiar 598 00:28:30,079 --> 00:28:31,819 porque el main tiene que estar en la cabecera 599 00:28:31,819 --> 00:28:33,019 luego todo 600 00:28:33,019 --> 00:28:36,380 lo que llame este método que esté fuera 601 00:28:36,380 --> 00:28:37,880 sea propiedad 602 00:28:37,880 --> 00:28:40,299 o sea otro método, todo tiene que ser estático 603 00:28:40,299 --> 00:28:42,299 obligatoriamente, entonces si yo le he 604 00:28:42,299 --> 00:28:44,400 quitado el estático a mostrar profesores 605 00:28:44,400 --> 00:28:46,319 a mostrar profes 606 00:28:46,319 --> 00:28:47,220 si se lo he quitado 607 00:28:47,220 --> 00:28:48,900 de ahí ya no puedo llamarlo 608 00:28:48,900 --> 00:28:53,160 con lo cual, quitar 609 00:28:53,160 --> 00:28:55,579 este static no ha sido solución 610 00:28:55,579 --> 00:28:58,140 quitar el static no ha sido solución 611 00:28:58,140 --> 00:29:00,000 entonces que puedo hacer para arreglar 612 00:29:00,000 --> 00:29:02,019 esto y que pueda acceder 613 00:29:02,019 --> 00:29:02,980 a profesores 614 00:29:02,980 --> 00:29:06,000 sin necesitar pasársela. 615 00:29:07,900 --> 00:29:09,299 ¿Qué cambio puedo hacer? 616 00:29:11,460 --> 00:29:13,839 Ya el último cambio, ya el definitivo. 617 00:29:14,980 --> 00:29:16,140 ¿Vale? O sea, estamos otra vez 618 00:29:16,140 --> 00:29:17,980 que método 619 00:29:17,980 --> 00:29:19,940 estático no puedes acceder a una variable 620 00:29:19,940 --> 00:29:21,500 de clase que no sea estática. 621 00:29:27,779 --> 00:29:29,059 No, es muy sencillo. 622 00:29:29,579 --> 00:29:31,880 Hagamos la lista estática, pero ¿qué más me das? 623 00:29:31,880 --> 00:29:33,440 Si solo hay una... 624 00:29:33,440 --> 00:29:35,279 Y esta es la solución, natural. 625 00:29:38,460 --> 00:29:40,579 O sea, yo solamente tengo una lista de profesores. 626 00:29:41,759 --> 00:29:42,599 Pues ya está. 627 00:29:43,359 --> 00:29:45,160 Esta, que sea static. 628 00:29:45,839 --> 00:29:47,799 Y entonces pueden acceder todos los métodos. 629 00:29:48,500 --> 00:29:50,200 Y no tengo que pasarlo por parámetro. 630 00:29:50,319 --> 00:29:52,700 Aunque podríamos haber optado por la primera solución que dijimos. 631 00:29:52,839 --> 00:29:53,700 Pásaselo por parámetro. 632 00:29:54,140 --> 00:29:55,900 Si es que yo no puedo sacarlo del main. 633 00:29:56,599 --> 00:29:58,500 Si yo no puedo sacarlo del main, 634 00:29:59,099 --> 00:30:00,180 porque la tengo que tener aquí, 635 00:30:00,180 --> 00:30:01,539 no puedo sacarla del main. 636 00:30:01,539 --> 00:30:04,019 entonces la única solución es 637 00:30:04,019 --> 00:30:05,700 pasársela por parámetros 638 00:30:05,700 --> 00:30:07,759 la primera que habíamos dicho, pasársela por aquí 639 00:30:07,759 --> 00:30:10,160 no hay solución, pero si la puedo sacar 640 00:30:10,160 --> 00:30:12,039 del main, mejor, no tengo que 641 00:30:12,039 --> 00:30:13,619 pasar por parámetro todo el rato 642 00:30:13,619 --> 00:30:16,099 pero entonces pongamos la estática que no pasa 643 00:30:16,099 --> 00:30:17,400 nada, porque sea estática 644 00:30:17,400 --> 00:30:20,099 de hecho va en su naturaleza, solo hay una lista 645 00:30:20,099 --> 00:30:20,779 de profesores 646 00:30:20,779 --> 00:30:23,789 ¿vale? 647 00:30:25,630 --> 00:30:27,470 bueno, pues entonces ahora ya podríamos 648 00:30:27,470 --> 00:30:28,809 recorrer este 649 00:30:28,809 --> 00:30:31,670 cacharro de profesores para hacer las cosas 650 00:30:31,670 --> 00:30:31,990 ¿Vale? 651 00:30:32,490 --> 00:30:35,230 Venga, vamos a parar un par de minutillos