1 00:00:00,000 --> 00:00:00,660 Fumaba mucho. 2 00:00:01,860 --> 00:00:03,720 De hecho, no ha murido de cáncer de pulmón o algo así. 3 00:00:08,179 --> 00:00:09,339 Es que acabo de poner... 4 00:00:09,339 --> 00:00:10,359 Venga, entonces. 5 00:00:16,199 --> 00:00:18,420 Vale, pues a ver, dos entidades solamente. 6 00:00:18,859 --> 00:00:20,100 Empleado y departamento. 7 00:00:22,120 --> 00:00:24,140 El empleado tiene dentro 8 00:00:24,140 --> 00:00:25,800 una clase de... 9 00:00:25,800 --> 00:00:28,079 Un objeto, una propiedad, que es departamento 10 00:00:28,079 --> 00:00:29,600 porque trabaja en un departamento. 11 00:00:30,000 --> 00:00:37,560 Luego la clase empleado, que no se ha hecho aquí, amablemente Ana, tiene estas cuatro propiedades. 12 00:00:37,859 --> 00:00:38,380 Perfecto. 13 00:00:39,899 --> 00:00:41,780 Tiene dentro un objeto departamento. 14 00:00:41,780 --> 00:00:45,500 Vale, entonces, departamento, ¿por qué se caracteriza? 15 00:00:45,600 --> 00:00:53,780 Solamente por el nombre, quién lo dirige, que es un empleado, y un conjunto de empleados. 16 00:00:54,219 --> 00:00:54,399 ¿Vale? 17 00:00:54,399 --> 00:01:09,159 Entonces, esta clase de departamento es esta de aquí, que tiene el nombre, solamente un objeto empleado como director y un array de los empleados que lo caracterizan. 18 00:01:09,620 --> 00:01:21,299 Entonces, ya de partida lo ha iniciado como un array cero para que no sea null, de forma que cuando se agregue el primer empleado, pues no tengamos un null pointer exception, ¿vale? 19 00:01:21,299 --> 00:01:23,200 que es la práctica habitual 20 00:01:23,200 --> 00:01:25,780 entonces cuando se instancia un objeto de departamento 21 00:01:25,780 --> 00:01:26,840 lo primero que se hace es 22 00:01:26,840 --> 00:01:29,239 se reserva en memoria 23 00:01:29,239 --> 00:01:30,900 espacio para estas propiedades 24 00:01:30,900 --> 00:01:33,200 si alguna está inicializada 25 00:01:33,200 --> 00:01:34,959 si alguna está inicializada 26 00:01:34,959 --> 00:01:36,579 se le da ese valor 27 00:01:36,579 --> 00:01:39,140 y luego ya se ejecuta lo que haya en el constructor 28 00:01:39,140 --> 00:01:40,180 ¿vale? 29 00:01:41,219 --> 00:01:43,439 entonces aquí tú en el constructor 30 00:01:43,439 --> 00:01:45,680 de departamento, cuando se instancia un departamento 31 00:01:45,680 --> 00:01:46,560 si lo instancias así 32 00:01:46,560 --> 00:01:48,859 pues se le da un nombre y un director 33 00:01:48,859 --> 00:01:51,000 y los empleados 34 00:01:51,000 --> 00:01:53,159 todavía no va a tener ninguno, los empleados se van a ir agregando 35 00:01:53,159 --> 00:01:55,480 después, se crea el departamento por ahora sin empleados 36 00:01:55,480 --> 00:01:56,959 ¿vale? pues bien 37 00:01:56,959 --> 00:01:58,840 de hecho es lo habitual 38 00:01:58,840 --> 00:02:01,200 cuando tenemos 39 00:02:01,200 --> 00:02:02,939 entidades que dentro 40 00:02:02,939 --> 00:02:04,939 tienen colecciones de datos o arrays 41 00:02:04,939 --> 00:02:07,019 lo habitual es que esas colecciones 42 00:02:07,019 --> 00:02:08,020 se metan en el constructor 43 00:02:08,020 --> 00:02:11,219 tú haces, creas el objeto que sea 44 00:02:11,219 --> 00:02:12,780 con las propiedades básicas 45 00:02:12,780 --> 00:02:15,060 y luego lo que tiene dentro 46 00:02:15,060 --> 00:02:17,280 que ya son colecciones ya se irán agregando 47 00:02:17,280 --> 00:02:19,960 No se meten de golpe en el 48 00:02:19,960 --> 00:02:22,240 En el objeto cuando se crea 49 00:02:22,240 --> 00:02:23,680 Suele ser lo habitual, ¿vale? 50 00:02:24,139 --> 00:02:25,939 Entonces, bueno, no has puesto get y set, pero bueno 51 00:02:25,939 --> 00:02:28,500 Se podrían agregar, se pondría esto en privado 52 00:02:28,500 --> 00:02:29,599 Venga, si lo vamos a subir 53 00:02:29,599 --> 00:02:31,680 Vamos a ponerlo rápidamente 54 00:02:31,680 --> 00:02:36,069 ¡No! Pues 55 00:02:36,069 --> 00:02:38,469 No pasa nada, porque tus compañeros te lo cambian 56 00:02:38,469 --> 00:02:42,009 El que es público 57 00:02:42,009 --> 00:02:44,289 Si lo pongo privado es privado 58 00:02:44,289 --> 00:02:44,750 No es público 59 00:02:44,750 --> 00:02:48,389 ¿Cómo lo vas a hablar a todo el mundo? 60 00:02:48,389 --> 00:02:51,610 lo sabrá si llaman al set 61 00:02:51,610 --> 00:02:52,210 o al get 62 00:02:52,210 --> 00:03:00,270 claro, al get sabrán 63 00:03:00,270 --> 00:03:01,949 y al set podrán además modificar 64 00:03:01,949 --> 00:03:04,169 y yo además podría en estos 65 00:03:04,169 --> 00:03:06,189 métodos a lo mejor hacer cosas 66 00:03:06,189 --> 00:03:07,810 porque yo los he dejado los básicos 67 00:03:07,810 --> 00:03:10,030 pero podría a lo mejor en el set 68 00:03:10,030 --> 00:03:12,030 pues hacer una verificación 69 00:03:12,030 --> 00:03:13,689 aquí antes, pues yo que sé 70 00:03:13,689 --> 00:03:14,610 para que solo 71 00:03:14,610 --> 00:03:18,530 si el nombre cumple unas condiciones 72 00:03:18,530 --> 00:03:20,169 me sirviera para actualizar 73 00:03:20,169 --> 00:03:22,250 por ejemplo, entonces el set y el get 74 00:03:22,250 --> 00:03:23,849 me permiten hacer muchas más cosas 75 00:03:23,849 --> 00:03:26,110 si no accedo a las propiedades 76 00:03:26,110 --> 00:03:27,710 con get y set, sino directamente 77 00:03:27,710 --> 00:03:30,389 con punto nombre, no estoy 78 00:03:30,389 --> 00:03:32,030 abriendo la posibilidad 79 00:03:32,030 --> 00:03:33,669 ni de validar nada, ni de hacer nada 80 00:03:33,669 --> 00:03:35,509 si lo pongo en el método, sí 81 00:03:35,509 --> 00:03:38,090 vale, pues ya tenemos los get y set y si cambian 82 00:03:38,090 --> 00:03:39,330 muchas cosas, pues las cambiamos 83 00:03:39,330 --> 00:03:41,650 bueno, pues entonces 84 00:03:41,650 --> 00:03:43,969 efectivamente 85 00:03:43,969 --> 00:03:46,090 aquí ya, esto 86 00:03:46,090 --> 00:03:48,150 simplemente, en tu clase 87 00:03:48,150 --> 00:03:50,110 empleado, pues esto se cambia 88 00:03:50,110 --> 00:03:52,270 que el directory se acabó, tampoco es tanto cambio 89 00:03:52,270 --> 00:03:57,280 y ya no había más 90 00:03:57,280 --> 00:03:59,139 errores aquí, vale, entonces 91 00:03:59,139 --> 00:04:01,120 aquí ya en estas dos entidades 92 00:04:01,120 --> 00:04:02,780 ya hay relaciones 93 00:04:02,780 --> 00:04:05,120 es decir, esto 94 00:04:05,120 --> 00:04:07,199 en una aplicación real tendríamos una base 95 00:04:07,199 --> 00:04:08,500 de datos de empleados 96 00:04:08,500 --> 00:04:11,020 y una base de datos de departamentos 97 00:04:11,020 --> 00:04:13,219 y además habría relaciones entre ellas 98 00:04:13,219 --> 00:04:15,300 por ejemplo, que primera 99 00:04:15,300 --> 00:04:17,660 relación se os ocurre 100 00:04:17,660 --> 00:04:19,019 teniendo en cuenta 101 00:04:19,019 --> 00:04:21,079 que empleado tiene un objeto director 102 00:04:21,079 --> 00:04:23,100 dentro, perdón, un objeto 103 00:04:23,100 --> 00:04:24,279 departamento dentro 104 00:04:24,279 --> 00:04:27,319 y departamento tiene una raíz de empleados 105 00:04:27,319 --> 00:04:29,240 pues habrá 106 00:04:29,240 --> 00:04:31,579 una relación de cuánto a cuánto 107 00:04:31,579 --> 00:04:32,420 entre quién y quién 108 00:04:32,420 --> 00:04:35,579 si, es que 109 00:04:35,579 --> 00:04:36,980 tienes que ligarlo todo 110 00:04:36,980 --> 00:04:39,180 de verdad, porque tú vas a ser un buen 111 00:04:39,180 --> 00:04:40,819 desarrollador, aunque no estés 112 00:04:40,819 --> 00:04:43,100 gordo, ni sea feo, ni sea raro, vas a ser 113 00:04:43,100 --> 00:04:45,199 un buen desarrollador, así que tienes que ligar 114 00:04:45,199 --> 00:04:46,980 los dos mundos desde ya 115 00:04:46,980 --> 00:04:48,540 a ser posible, poco a poco 116 00:04:48,540 --> 00:04:50,819 entonces, ¿qué relación 117 00:04:50,819 --> 00:05:14,860 En las tablas, empleados y departamentos que mapearán, ya lo haremos el año que viene, mi módulo de acceso a datos, mi módulo de acceso a datos por el que me pagan, no es que lo haga por amor al arte, bueno, que también, se ocupa de eso, de aplicaciones donde sus datos están ya en bases de datos. 118 00:05:14,860 --> 00:05:16,860 y no es trivial el volcado de los datos 119 00:05:16,860 --> 00:05:17,959 en absoluto 120 00:05:17,959 --> 00:05:21,180 pero es una parte imprescindible de cualquier aplicación 121 00:05:21,180 --> 00:05:22,360 entonces 122 00:05:22,360 --> 00:05:24,540 aquí ya, entre esa tabla 123 00:05:24,540 --> 00:05:26,980 empleado y esa tabla de departamentos, ¿qué tipo de relación va a haber? 124 00:05:29,000 --> 00:05:30,220 no, muchos a muchos no 125 00:05:30,220 --> 00:05:31,300 uno a muchos 126 00:05:31,300 --> 00:05:33,860 sí, había pocas alternativas, más, uno a muchos 127 00:05:33,860 --> 00:05:36,980 el lado de uno y el lado de muchos 128 00:05:36,980 --> 00:05:37,579 ¿dónde está? 129 00:05:37,579 --> 00:05:39,600 en el empleado, o sea, una clave ajena 130 00:05:39,600 --> 00:05:40,480 habrá una clave ajena 131 00:05:40,480 --> 00:05:42,660 hay que distribuir la clave a uno y a la de muchos 132 00:05:42,660 --> 00:05:43,920 claro, o sea 133 00:05:43,920 --> 00:05:46,120 un departamento 134 00:05:46,120 --> 00:05:47,379 muchos empleados 135 00:05:47,379 --> 00:05:49,480 ¿vale? 136 00:05:50,259 --> 00:05:53,079 y un empleado 137 00:05:53,079 --> 00:05:54,500 un departamento solamente 138 00:05:54,500 --> 00:05:56,879 entonces la clave ajena estará en empleado 139 00:05:56,879 --> 00:05:58,620 que tendrá ahí un campo 140 00:05:58,620 --> 00:06:00,399 que nos llevará a la tabla departamento 141 00:06:00,399 --> 00:06:02,360 habrá una clave ajena que vaya 142 00:06:02,360 --> 00:06:03,500 de empleado a departamento 143 00:06:03,500 --> 00:06:05,220 pues eso 144 00:06:05,220 --> 00:06:07,579 esa clave ajena 145 00:06:07,579 --> 00:06:10,800 es la que cuando hagamos el volcado de los datos 146 00:06:10,800 --> 00:06:12,939 hará que tú cojas todo el objeto 147 00:06:12,939 --> 00:06:14,740 departamento al que apunta 148 00:06:14,740 --> 00:06:16,500 ese empleado y lo metas aquí dentro 149 00:06:16,500 --> 00:06:18,560 y efectivamente 150 00:06:18,560 --> 00:06:20,600 un departamento puede tener 151 00:06:20,600 --> 00:06:22,540 muchos empleados porque eso significa 152 00:06:22,540 --> 00:06:23,300 una clave ajena 153 00:06:23,300 --> 00:06:25,660 donde está la 154 00:06:25,660 --> 00:06:28,879 clave es uno y a donde apuntas 155 00:06:28,879 --> 00:06:30,600 al revés es muchos y a donde 156 00:06:30,600 --> 00:06:31,279 apuntas es uno 157 00:06:31,279 --> 00:06:34,579 bueno y luego 158 00:06:34,579 --> 00:06:35,839 aparte tenemos una relación 159 00:06:35,839 --> 00:06:37,000 más 160 00:06:37,000 --> 00:06:39,199 dada por esto 161 00:06:39,199 --> 00:06:40,420 ¿verdad? 162 00:06:40,420 --> 00:06:43,120 esta relación 163 00:06:43,120 --> 00:06:45,019 es de 1 a 1 164 00:06:45,019 --> 00:06:45,899 o de 1 a 0 165 00:06:45,899 --> 00:06:47,779 es decir 166 00:06:47,779 --> 00:06:50,699 un departamento 167 00:06:50,699 --> 00:06:52,439 tiene 1 168 00:06:52,439 --> 00:06:54,540 o 0 directores 169 00:06:54,540 --> 00:06:56,259 si habilitamos que esto sea nulo o no 170 00:06:56,259 --> 00:06:58,939 todo eso no es que aquí 171 00:06:58,939 --> 00:07:00,319 tenga restricciones 172 00:07:00,319 --> 00:07:01,399 aquí es la interpretación 173 00:07:01,399 --> 00:07:03,879 depende del resto de la aplicación 174 00:07:03,879 --> 00:07:05,160 si hace validaciones o no 175 00:07:05,160 --> 00:07:06,540 aquí es que no 176 00:07:06,540 --> 00:07:10,240 esto de las relaciones no implica que aquí haya que programar 177 00:07:10,240 --> 00:07:12,120 nada, es la interpretación que se hace 178 00:07:12,120 --> 00:07:13,060 de esto simplemente 179 00:07:13,060 --> 00:07:15,660 no hay una forma de gestionarlo que 180 00:07:15,660 --> 00:07:17,120 no afecte, que sea algo 181 00:07:17,120 --> 00:07:20,459 en vez de apuntar a un director 182 00:07:20,459 --> 00:07:21,259 que sea no 183 00:07:21,259 --> 00:07:24,319 que sea ausente, un objeto opcional 184 00:07:24,319 --> 00:07:26,079 hay una clase opcional 185 00:07:26,079 --> 00:07:28,000 claro, que se 186 00:07:28,000 --> 00:07:30,040 inventó a posteriori precisamente 187 00:07:30,040 --> 00:07:32,240 por eso, tú puedes un objeto 188 00:07:32,240 --> 00:07:34,019 cualquiera, o sea una clase 189 00:07:34,019 --> 00:07:35,800 una referencia que es un objeto 190 00:07:35,800 --> 00:07:38,000 la puedes, no, más que apuntada 191 00:07:38,000 --> 00:07:40,160 meterla dentro como propiedad de un 192 00:07:40,160 --> 00:07:41,980 opcional. Y ese opcional 193 00:07:41,980 --> 00:07:44,120 se caracteriza por el valor 194 00:07:44,120 --> 00:07:45,680 del objeto y 195 00:07:45,680 --> 00:07:47,639 si existe o no existe. 196 00:07:48,480 --> 00:07:49,980 Si está ausente o no lo está. 197 00:07:50,620 --> 00:07:52,180 Entonces, tú no tiras del objeto directamente, 198 00:07:52,500 --> 00:07:54,040 tiras del opcional, para ver si el 199 00:07:54,040 --> 00:07:56,079 objeto está o no está. Entonces, no te 200 00:07:56,079 --> 00:07:57,920 vas a encontrar nunca el nul. Esa es la idea 201 00:07:57,920 --> 00:08:00,100 del opcional, ¿vale? Pero bueno, eso es una cosa ya más 202 00:08:00,100 --> 00:08:01,319 rara para el año que viene. 203 00:08:01,860 --> 00:08:03,860 La dejamos. Vale, pues aquí abre una relación 204 00:08:03,860 --> 00:08:05,560 también. Un departamento, 205 00:08:06,180 --> 00:08:07,899 un empleado, un director. 206 00:08:08,839 --> 00:08:11,560 Un empleado director de un departamento solo. 207 00:08:12,019 --> 00:08:15,459 No puede haber un empleado que dirija varios departamentos. 208 00:08:16,639 --> 00:08:18,620 Es decir, aquí está puesta solo a un lado. 209 00:08:19,519 --> 00:08:22,360 Podríamos haber puesto aquí otra propiedad. 210 00:08:24,060 --> 00:08:26,060 Voy a ponerla abajo para que se vea mejor. 211 00:08:28,399 --> 00:08:32,919 Departamento depto dirigido. 212 00:08:36,929 --> 00:08:39,409 Así se vería mejor la relación de uno a uno. 213 00:08:39,789 --> 00:08:41,669 Aunque esta no es de 1 a 1, es de 1 a 0 214 00:08:41,669 --> 00:08:44,190 Porque no todos los empleados tienen por qué dirigir un departamento 215 00:08:44,190 --> 00:08:45,370 Entonces 216 00:08:45,370 --> 00:08:47,990 Un empleado puede o no 217 00:08:47,990 --> 00:08:49,629 Dirigir un departamento 218 00:08:49,629 --> 00:08:50,629 Ahí está el 0 219 00:08:50,629 --> 00:08:53,710 Y un departamento es dirigido por un empleado sí o sí 220 00:08:53,710 --> 00:08:54,730 Ahí está el 1 221 00:08:54,730 --> 00:08:56,750 Eso se mapearía aquí en esta relación 222 00:08:56,750 --> 00:08:57,830 Aquí hay uno solo 223 00:08:57,830 --> 00:09:00,090 Y aquí hay uno solo 224 00:09:00,090 --> 00:09:03,690 A ver, 1 a 1 225 00:09:03,690 --> 00:09:05,570 O 1 a 0 dependiendo de si permitimos 226 00:09:05,570 --> 00:09:06,509 Que esto sea nulo o no 227 00:09:06,509 --> 00:09:09,409 Es que eso no es como en bases de datos 228 00:09:09,409 --> 00:09:11,210 es que está todo absolutamente 229 00:09:11,210 --> 00:09:13,029 encorsetado y tienes que programarlo 230 00:09:13,029 --> 00:09:15,169 y ponerlo en restricciones, aquí no 231 00:09:15,169 --> 00:09:17,110 tú lo pones así y luego ya haces tus 232 00:09:17,110 --> 00:09:19,269 validaciones para permitir si es null, si no es null 233 00:09:19,269 --> 00:09:21,470 ya programas interpretándolo como tú quieras 234 00:09:21,470 --> 00:09:23,250 no pones la restricción como 235 00:09:23,250 --> 00:09:25,549 la pones en el modelo relacional 236 00:09:25,549 --> 00:09:27,269 pero esto representa eso 237 00:09:27,269 --> 00:09:29,049 una relación de uno a uno o de uno a cero 238 00:09:29,049 --> 00:09:30,850 depende si tú permites null o no permites 239 00:09:30,850 --> 00:09:33,269 un empleado dirige un departamento 240 00:09:33,269 --> 00:09:35,309 como mucho, un departamento es 241 00:09:35,309 --> 00:09:37,490 dirigido por un empleado como mucho 242 00:09:37,490 --> 00:09:38,750 ¿vale? pero bueno 243 00:09:38,750 --> 00:09:51,629 Bueno, no hace falta que para expresar una relación en Java pongamos en los dos lados, no hace falta, solo con que esté en departamento, un departamento es dirigido por un director, ya tenemos ahí expresada la idea. 244 00:09:51,629 --> 00:09:54,590 al igual que aquí hemos puesto 245 00:09:54,590 --> 00:09:57,190 un empleado trabaja en un departamento 246 00:09:57,190 --> 00:10:00,809 pues esta ya no haría falta, esta está de más 247 00:10:00,809 --> 00:10:03,529 porque ya teniendo 248 00:10:03,529 --> 00:10:06,750 que esta propiedad aquí no haría falta 249 00:10:06,750 --> 00:10:09,809 para la aplicación, esta es redundante, sobra 250 00:10:09,809 --> 00:10:12,590 porque nosotros cuando nos dan un departamento 251 00:10:12,590 --> 00:10:14,730 para saber los empleados que trabajan en él 252 00:10:14,730 --> 00:10:17,549 con irnos a los empleados e ir buscando 253 00:10:17,549 --> 00:10:20,889 los que en su propiedad son ese departamento ya lo tendríamos 254 00:10:20,889 --> 00:10:22,429 vale 255 00:10:22,429 --> 00:10:26,269 intentad pensarlo un poco 256 00:10:26,269 --> 00:10:28,110 porque todas estas cosas son las que hacen que luego 257 00:10:28,110 --> 00:10:29,649 podamos hacer las aplicaciones 258 00:10:29,649 --> 00:10:34,389 en la propia 259 00:10:34,389 --> 00:10:35,850 información, a ver, vamos a 260 00:10:35,850 --> 00:10:37,350 quedarnos con 261 00:10:37,350 --> 00:10:38,830 ¿estamos hablando con base de datos? 262 00:10:39,769 --> 00:10:40,929 es que es lo mismo 263 00:10:40,929 --> 00:10:43,070 no, estoy hablando para programar 264 00:10:43,070 --> 00:10:45,470 pero recogiendo 265 00:10:45,470 --> 00:10:47,409 ¿esos datos dónde los está guardando? 266 00:10:49,250 --> 00:10:52,149 en cada empleado, cada empleado tiene el suyo 267 00:10:52,149 --> 00:10:56,769 Ah, claro, sí 268 00:10:56,769 --> 00:10:58,210 Tu pregunta, tú tendrás tu base 269 00:10:58,210 --> 00:10:59,470 Tu array de empleados 270 00:10:59,470 --> 00:11:01,529 Claro, cada empleado trabaja en un departamento 271 00:11:01,529 --> 00:11:03,090 Y luego tu array de departamentos 272 00:11:03,090 --> 00:11:05,250 ¿Vale? Tu array de departamentos 273 00:11:05,250 --> 00:11:06,710 Entonces, en tu 274 00:11:06,710 --> 00:11:09,730 En tu array de empleados 275 00:11:09,730 --> 00:11:11,409 Efectivamente, tú puedes saber 276 00:11:11,409 --> 00:11:13,129 Dado un departamento, quién trabaja en él 277 00:11:13,129 --> 00:11:15,789 No vas a poder saberlo metiéndote aquí 278 00:11:15,789 --> 00:11:17,009 Porque esta propiedad no existe 279 00:11:17,009 --> 00:11:18,690 Pero es que no pasa nada, esta propiedad sobra 280 00:11:18,690 --> 00:11:21,509 Porque si te dicen departamento, ¿quién trabaja? 281 00:11:21,509 --> 00:11:23,330 Pues te vas a array de empleados y vas 282 00:11:23,330 --> 00:11:25,509 Buscando en el array cuáles de ellos tienen 283 00:11:25,509 --> 00:11:26,669 En su propiedad 284 00:11:26,669 --> 00:11:28,830 Departamento, ese departamento 285 00:11:28,830 --> 00:11:30,669 Y ya tienes esa información 286 00:11:30,669 --> 00:11:33,570 Entonces, en una relación de estas no hace falta 287 00:11:33,570 --> 00:11:35,909 Que lo pongamos en los dos extremos 288 00:11:35,909 --> 00:11:37,690 No hace falta porque la información 289 00:11:37,690 --> 00:11:40,230 Es redundante 290 00:11:40,230 --> 00:11:41,789 Pero queda más claro 291 00:11:41,789 --> 00:11:43,409 Si yo lo tengo en los dos lados 292 00:11:43,409 --> 00:11:44,070 Queda más claro 293 00:11:44,070 --> 00:11:45,950 O sea, son diferentes diseños 294 00:11:45,950 --> 00:11:48,289 Una aplicación la puedes diseñar de muchas maneras 295 00:11:48,289 --> 00:11:50,950 y siempre se va a corresponder a un único 296 00:11:50,950 --> 00:11:52,909 modelo de datos, digamos que 297 00:11:52,909 --> 00:11:54,750 primero viene el modelo de tablas 298 00:11:54,750 --> 00:11:56,870 mi información es esta, estos son 299 00:11:56,870 --> 00:11:58,809 mis datos, mis tablas con 300 00:11:58,809 --> 00:12:00,149 sus relaciones, eso es lo primero 301 00:12:00,149 --> 00:12:02,669 y luego yo ya me hago una aplicación, me hago 302 00:12:02,669 --> 00:12:04,289 las clases que reflejan eso 303 00:12:04,289 --> 00:12:06,789 para manejar esos datos y hay un montón 304 00:12:06,789 --> 00:12:08,769 de opciones, vale, entonces 305 00:12:08,769 --> 00:12:10,950 la realidad esa de tablas 306 00:12:10,950 --> 00:12:12,809 tengo un montón de empleados, tengo un montón 307 00:12:12,809 --> 00:12:14,909 de departamentos con una clave ajena que me lleva 308 00:12:14,909 --> 00:12:16,990 de empleado a departamento 309 00:12:16,990 --> 00:12:19,529 Pues esa misma realidad la puedo gestionar 310 00:12:19,529 --> 00:12:20,929 Quitando esta propiedad 311 00:12:20,929 --> 00:12:23,649 Me da lo mismo, porque ya en cada empleado 312 00:12:23,649 --> 00:12:25,250 Tengo que departamento 313 00:12:25,250 --> 00:12:27,529 Trabaja, o quitando esta 314 00:12:27,529 --> 00:12:29,230 Y metiendo aquí el array 315 00:12:29,230 --> 00:12:31,169 Porque ya en cada departamento tengo los empleados 316 00:12:31,169 --> 00:12:33,450 Lo puedo eso ya modelar de muchas maneras 317 00:12:33,450 --> 00:12:35,429 Lo único que importa es que yo modele 318 00:12:35,429 --> 00:12:35,750 Que 319 00:12:35,750 --> 00:12:39,409 Cada empleado está en un departamento 320 00:12:39,409 --> 00:12:40,669 ¿Vale? Aquí 321 00:12:40,669 --> 00:12:42,409 Lo hemos puesto en las dos partes 322 00:12:42,409 --> 00:12:44,129 Está como redundante 323 00:12:44,129 --> 00:12:45,529 ¿Vale? 324 00:12:46,990 --> 00:12:59,149 Bueno, se entenderá todo mucho mejor el año que viene, pero no tenéis que perder esa perspectiva de que las aplicaciones son datos moviéndose de un lado a otro. 325 00:13:00,629 --> 00:13:07,870 Bueno, pues ya está. Esta es nuestra clase de departamento, nuestra clase empleado. 326 00:13:08,649 --> 00:13:14,799 Vamos a ponerla con, revisamos los métodos y listo. 327 00:13:14,799 --> 00:13:17,799 Y hacemos los constructores. 328 00:13:18,679 --> 00:13:27,220 Perdón, los get y set 329 00:13:27,220 --> 00:13:29,340 Ala 330 00:13:29,340 --> 00:13:31,820 Y aquí al hacer el get y set 331 00:13:31,820 --> 00:13:32,659 Pues 332 00:13:32,659 --> 00:13:35,299 Esto lo tengo que cambiar 333 00:13:35,299 --> 00:13:36,659 A get sueldo 334 00:13:36,659 --> 00:13:42,840 Claro, efectivamente 335 00:13:42,840 --> 00:13:45,659 Esto lo tengo que cambiar a get nombre 336 00:13:45,659 --> 00:13:47,919 Y así nos queda 337 00:13:47,919 --> 00:13:49,659 Pues más profesional la aplicación 338 00:13:49,659 --> 00:13:52,100 Que con el punto sin más 339 00:13:52,100 --> 00:13:53,379 Que eso ya queda raro y 340 00:13:53,379 --> 00:13:55,919 Queda raro y feo 341 00:13:57,019 --> 00:13:58,019 Vale 342 00:13:58,019 --> 00:14:00,700 A ver, aquí tenemos 343 00:14:00,700 --> 00:14:02,879 .get 344 00:14:02,879 --> 00:14:04,019 Departamento 345 00:14:04,019 --> 00:14:11,169 .get 346 00:14:11,169 --> 00:14:12,950 Nombre 347 00:14:12,950 --> 00:14:18,039 Y p. 348 00:14:18,720 --> 00:14:21,000 U 349 00:14:21,000 --> 00:14:29,120 Vale, aquí si hubieras 350 00:14:29,120 --> 00:14:31,220 Puesto un toString en empleado 351 00:14:31,220 --> 00:14:32,919 Pues te queda mejor 352 00:14:32,919 --> 00:14:33,519 La aplicación 353 00:14:33,519 --> 00:14:36,080 vale, vamos a cambiarla 354 00:14:36,080 --> 00:14:37,840 para subirla con el toString que va a quedar más bonita 355 00:14:37,840 --> 00:14:40,080 entonces, aquí a la hora de mostrar el empleado 356 00:14:40,080 --> 00:14:41,940 ponemos el p ahí 357 00:14:41,940 --> 00:14:44,580 alegremente, el p minúscula 358 00:14:44,580 --> 00:14:46,240 y entonces 359 00:14:46,240 --> 00:14:48,039 en empleado vamos a poner un método 360 00:14:48,039 --> 00:14:50,019 toString para que el system.out cuando 361 00:14:50,019 --> 00:14:51,740 llame a toString del objeto p 362 00:14:51,740 --> 00:14:52,940 saque algo con sentido 363 00:14:52,940 --> 00:14:55,919 pues venga, empleado 364 00:14:55,919 --> 00:14:58,399 ponemos aquí un método toString 365 00:14:58,399 --> 00:15:03,259 vale, nombre, sueldo y nif 366 00:15:03,259 --> 00:15:05,879 Pero quitamos que muestre el objeto departamento 367 00:15:05,879 --> 00:15:07,559 Porque el objeto departamento 368 00:15:07,559 --> 00:15:08,919 Pues ya es mucha información 369 00:15:08,919 --> 00:15:09,980 Tiene el array, no 370 00:15:09,980 --> 00:15:13,379 El toString de empleado que muestre solo nombre, sueldo y NIF 371 00:15:13,379 --> 00:15:15,639 Desactivamos esto 372 00:15:15,639 --> 00:15:18,200 Ala, ya tenemos un toString 373 00:15:18,200 --> 00:15:21,740 Y en departamento 374 00:15:21,740 --> 00:15:23,480 Pues ya lo último que 375 00:15:23,480 --> 00:15:27,440 Nos falta es director.getNombre 376 00:15:27,440 --> 00:15:36,629 Vale, ya tenemos las dos clases 377 00:15:36,629 --> 00:15:38,110 Con propiedades 378 00:15:38,110 --> 00:15:39,529 Get y set, constructores 379 00:15:39,529 --> 00:15:41,509 A falta de los métodos 380 00:15:41,509 --> 00:15:43,009 De las cosas que haga la aplicación 381 00:15:43,009 --> 00:15:45,450 Entonces, ¿qué cosas hace la aplicación? 382 00:15:47,850 --> 00:15:49,169 Constructores, clase empleado 383 00:15:49,169 --> 00:15:50,389 Mostrar el nombre del jefe 384 00:15:50,389 --> 00:15:51,350 Subir el sueldo en porcentaje 385 00:15:51,350 --> 00:15:52,070 Pasar por parámetro 386 00:15:52,070 --> 00:15:53,529 Esto, muy fácil, ¿no? 387 00:15:54,570 --> 00:15:55,470 Esto, muy fácil 388 00:15:55,470 --> 00:15:57,110 ¿Qué se puede hacer con los empleados? 389 00:15:58,029 --> 00:15:59,190 Pues con los empleados 390 00:15:59,190 --> 00:16:01,509 Lo que se puede hacer relativo a los empleados 391 00:16:01,509 --> 00:16:02,009 Que sea 392 00:16:02,009 --> 00:16:05,899 Mostrar quién le manda 393 00:16:05,899 --> 00:16:08,159 Pues ya está 394 00:16:08,159 --> 00:16:09,899 De su objeto departamento 395 00:16:09,899 --> 00:16:11,620 sacamos su director 396 00:16:11,620 --> 00:16:12,460 ¿vale? 397 00:16:14,690 --> 00:16:15,629 ¿y qué más? 398 00:16:16,009 --> 00:16:17,370 subirle a ese empleado 399 00:16:17,370 --> 00:16:18,850 un porcentaje 400 00:16:18,850 --> 00:16:20,870 ese porcentaje 401 00:16:20,870 --> 00:16:22,090 es una variable 402 00:16:22,090 --> 00:16:22,789 que cambiará 403 00:16:22,789 --> 00:16:23,769 cada vez que yo llame 404 00:16:23,769 --> 00:16:24,629 a subir sueldo 405 00:16:24,629 --> 00:16:25,190 le puedo subir 406 00:16:25,190 --> 00:16:26,269 un porcentaje distinto 407 00:16:26,269 --> 00:16:27,529 luego eso es un parámetro 408 00:16:27,529 --> 00:16:28,769 que se le da 409 00:16:28,769 --> 00:16:29,789 desde fuera al método 410 00:16:29,789 --> 00:16:30,830 entonces lo tengo que pasar 411 00:16:30,830 --> 00:16:31,309 desde aquí 412 00:16:31,309 --> 00:16:32,870 nada de de repente 413 00:16:32,870 --> 00:16:34,169 ponerlo aquí arriba 414 00:16:34,169 --> 00:16:35,529 ni hacer cosas raras 415 00:16:35,529 --> 00:16:37,909 ni meterlo aquí 416 00:16:37,909 --> 00:16:39,429 y leerlo con escáner 417 00:16:39,429 --> 00:16:40,129 no 418 00:16:40,129 --> 00:16:40,909 es un parámetro 419 00:16:40,909 --> 00:16:41,889 Que recibe el método 420 00:16:41,889 --> 00:16:44,090 Y ese porcentaje ya llegará de donde sea 421 00:16:44,090 --> 00:16:46,809 Pues al sueldo 422 00:16:46,809 --> 00:16:47,830 Se le incrementa 423 00:16:47,830 --> 00:16:49,129 Esto de aquí 424 00:16:49,129 --> 00:16:51,549 ¿Vale? Porcentaje entre 100 425 00:16:51,549 --> 00:16:53,190 Vale 426 00:16:53,190 --> 00:16:56,070 Cuidado si hacéis la división 427 00:16:56,070 --> 00:16:57,850 Antes de la multiplicación 428 00:16:57,850 --> 00:16:58,950 Porque entonces os va a quedar 429 00:16:58,950 --> 00:17:01,210 Cero, como habláis de enteros 430 00:17:01,210 --> 00:17:03,850 Y al multiplicar por cero, la subida de sueldo va a ser cero siempre 431 00:17:03,850 --> 00:17:05,869 Entonces así se hace primero 432 00:17:05,869 --> 00:17:07,730 La multiplicación, que ya va a quedar 433 00:17:07,730 --> 00:17:09,269 Mayor que 100 434 00:17:09,269 --> 00:17:10,309 Y luego ya esto 435 00:17:10,309 --> 00:17:17,930 pues ya está, los métodos de empleo 436 00:17:17,930 --> 00:17:19,529 ya está, la casa de empleo está completa 437 00:17:19,529 --> 00:17:21,710 no tiene nada, eso más o menos 438 00:17:21,710 --> 00:17:22,289 lo habíamos hecho 439 00:17:22,289 --> 00:17:27,859 ¿qué se puede hacer relativo a los departamentos? 440 00:17:28,660 --> 00:17:29,839 relativo a los departamentos 441 00:17:29,839 --> 00:17:31,880 se puede hacer la media de lo que cobra 442 00:17:31,880 --> 00:17:33,079 cada uno de los que trabaja ahí 443 00:17:33,079 --> 00:17:35,380 cambiarle el director 444 00:17:35,380 --> 00:17:37,619 porque uno se ha ido 445 00:17:37,619 --> 00:17:39,779 y ya está, eso es todo lo que 446 00:17:39,779 --> 00:17:41,980 la aplicación va a hacer relativo a los departamentos 447 00:17:41,980 --> 00:17:44,660 Pues vámonos a la clase de departamento 448 00:17:44,660 --> 00:17:45,579 Y 449 00:17:45,579 --> 00:17:48,039 Mostrar la media 450 00:17:48,039 --> 00:17:50,200 Pues lo que hemos hecho toda la vida 451 00:17:50,200 --> 00:17:52,559 Todo el rato, hacer una suma acumulativa 452 00:17:52,559 --> 00:17:54,640 Sobre todas 453 00:17:54,640 --> 00:17:56,579 Las propiedades sueldo de estos de aquí 454 00:17:56,579 --> 00:18:00,009 Pues venga 455 00:18:00,009 --> 00:18:04,230 Pues ya está, vamos recorriendo 456 00:18:04,230 --> 00:18:05,410 La raya empleados 457 00:18:05,410 --> 00:18:08,109 Sumamos el sueldo de cada empleado 458 00:18:08,109 --> 00:18:10,009 Y una vez que hemos sumado el sueldo 459 00:18:10,009 --> 00:18:10,690 Pues 460 00:18:10,690 --> 00:18:13,730 Dividimos entre el total de empleados 461 00:18:13,730 --> 00:18:17,490 Pues nada, lo mismo de siempre 462 00:18:17,490 --> 00:18:19,109 ¿Vale? 463 00:18:19,210 --> 00:18:21,190 No ha hecho falta pasarle nada por parámetro 464 00:18:21,190 --> 00:18:22,970 Porque toda la información que necesita es 465 00:18:22,970 --> 00:18:25,089 Los empleados que trabaja, que los hemos puesto ahí 466 00:18:25,089 --> 00:18:26,950 Si hubiéramos hecho una 467 00:18:26,950 --> 00:18:28,990 Un diseño de clases 468 00:18:28,990 --> 00:18:29,789 En los cuales 469 00:18:29,789 --> 00:18:33,269 Meto en el empleado el departamento en el que trabaja 470 00:18:33,269 --> 00:18:34,690 Y en departamento no meto nada 471 00:18:34,690 --> 00:18:37,069 Ya cuando quiero buscar 472 00:18:37,069 --> 00:18:39,589 Los empleados en un departamento, ya me voy a todos los empleados 473 00:18:39,589 --> 00:18:41,890 para ver, pues si lo hubiera hecho así 474 00:18:41,890 --> 00:18:43,890 este método 475 00:18:43,890 --> 00:18:45,890 aquí no habría podido ir 476 00:18:45,890 --> 00:18:47,190 no habría podido ir 477 00:18:47,190 --> 00:18:49,930 tendríamos que haberlo metido en otra clase 478 00:18:49,930 --> 00:18:51,730 haber hecho otro diseño 479 00:18:51,730 --> 00:18:54,049 ¿vale? pero aquí como hemos metido 480 00:18:54,049 --> 00:18:56,109 dentro del departamento todos los empleados 481 00:18:56,109 --> 00:18:56,769 pues ya está 482 00:18:56,769 --> 00:18:59,549 claro 483 00:18:59,549 --> 00:19:00,970 sí, sí, sí, claro 484 00:19:00,970 --> 00:19:03,069 vale, y cambiar director 485 00:19:03,069 --> 00:19:05,730 pues verificando 486 00:19:05,730 --> 00:19:06,529 que trabaje, ¿no? 487 00:19:08,089 --> 00:19:09,210 que el empleado pasado 488 00:19:09,210 --> 00:19:19,210 Pues entonces, cambiar director, le pasas un nombre, Pepito, vamos a asegurarnos que el empleado trabaja en ese departamento. 489 00:19:21,269 --> 00:19:31,839 Entonces, aquí, ¿por qué el libro has puesto de Abel? Es que lleva una letra, ¿vale? 490 00:19:41,740 --> 00:19:45,039 Hombre, algún papel tendrás 491 00:19:45,039 --> 00:19:46,140 y seguro que tiene letras 492 00:19:46,140 --> 00:19:47,819 Claro 493 00:19:47,819 --> 00:19:51,279 Pues el NIE tiene letras también, ¿no? 494 00:19:51,799 --> 00:19:52,299 Sí, sí 495 00:19:52,299 --> 00:19:55,039 Vale, pero vosotros por qué tenéis NIE 496 00:19:55,039 --> 00:19:56,140 ¿Pero no habéis nacido aquí? 497 00:19:56,779 --> 00:19:57,660 Yo, yo sí 498 00:19:57,660 --> 00:20:00,079 Habréis nacido aquí, sois muy críos 499 00:20:00,079 --> 00:20:03,339 Tú no has nacido aquí 500 00:20:03,339 --> 00:20:06,980 Ah, vale, yo pensaba que habríais 501 00:20:06,980 --> 00:20:08,839 nacido aquí todos, hasta este que se las da de 502 00:20:08,839 --> 00:20:09,599 bogoteño 503 00:20:09,599 --> 00:20:11,259 ¿No has nacido aquí? 504 00:20:11,740 --> 00:20:27,099 Bueno, pero a ver 505 00:20:27,099 --> 00:20:27,660 Es que 506 00:20:27,660 --> 00:20:30,960 Le provocáis 507 00:20:30,960 --> 00:20:38,039 Vale 508 00:20:38,039 --> 00:20:40,420 Le estáis provocando 509 00:20:40,420 --> 00:20:43,240 Voy a cambiar todos los dabels del NIF 510 00:20:43,240 --> 00:20:44,319 Por stream 511 00:20:44,319 --> 00:20:55,180 Vale, ya hemos cambiado 512 00:20:55,180 --> 00:20:57,200 Stream por 513 00:20:57,200 --> 00:21:01,619 Me falta aquí 514 00:21:01,619 --> 00:21:02,140 Stream 515 00:21:02,140 --> 00:21:08,000 Vale, empleado 516 00:21:08,000 --> 00:21:10,380 Vale, entonces 517 00:21:10,380 --> 00:21:11,319 A ver 518 00:21:11,319 --> 00:21:33,569 Vale, dijimos el otro día, o sea, ayer, de nuevo, ligando con las bases de datos, que una base de datos bien diseñada en todas las tablas tendría que haber una clave primaria, ¿verdad? 519 00:21:33,569 --> 00:21:35,650 no es que sea obligatorio, pero tiene que haber una clave primaria 520 00:21:35,650 --> 00:21:37,750 pues cuando uno hace un buen diseño 521 00:21:37,750 --> 00:21:39,250 de clases, igual 522 00:21:39,250 --> 00:21:40,990 debería haber un campo 523 00:21:40,990 --> 00:21:43,750 no es que sea obligatorio, pero debería haber un campo 524 00:21:43,750 --> 00:21:45,410 que identificara de forma unívoca 525 00:21:45,410 --> 00:21:46,029 los objetos 526 00:21:46,029 --> 00:21:49,650 entonces aquí el NIF 527 00:21:49,650 --> 00:21:51,289 identifica de forma unívoca 528 00:21:51,289 --> 00:21:52,769 los empleados más que el nombre, ¿verdad? 529 00:21:52,890 --> 00:21:55,170 se pueden llamar todos igual, pero el NIF 530 00:21:55,170 --> 00:21:57,549 nadie lo tiene igual, ni el NIE, ni esas cosas raras 531 00:21:57,549 --> 00:21:58,470 que tenéis vosotros 532 00:21:58,470 --> 00:22:00,230 entonces 533 00:22:00,230 --> 00:22:06,569 A ver, que ninguno somos de aquí, en última instancia. 534 00:22:14,369 --> 00:22:17,109 Perdona, NIE es un papel, eso no es un sin papeles. 535 00:22:24,609 --> 00:22:29,789 Venga, a ver, entonces, el NIE tiene mucho más sentido para identificar a alguien. 536 00:22:29,789 --> 00:22:31,609 Entonces, ¿cambiar director? 537 00:22:31,829 --> 00:22:33,309 Vamos a pasar el NIF porque se me dicen 538 00:22:33,309 --> 00:22:35,390 Oye, voy a cambiar el director del departamento 539 00:22:35,390 --> 00:22:36,289 ¿Quién va a ser el nuevo director? 540 00:22:37,029 --> 00:22:39,150 Juanito López, pues si es que hay tres Juanitos 541 00:22:39,150 --> 00:22:40,230 No eres tú 542 00:22:40,230 --> 00:22:45,369 ¿Y qué hacemos? 543 00:22:45,549 --> 00:22:47,609 Hay dos Juanitos López, pues tenemos un problema 544 00:22:47,609 --> 00:22:49,450 Pero si vamos a cambiar el director 545 00:22:49,450 --> 00:22:50,710 Del departamento, pero el director 546 00:22:50,710 --> 00:22:53,269 ¿Qué NIF tiene? O NIE, bla bla bla 547 00:22:53,269 --> 00:22:55,630 Ahí no habrá duda, ya tenemos claro quién va a ser el nuevo director 548 00:22:55,630 --> 00:22:57,329 Pues entonces, este método 549 00:22:57,329 --> 00:22:58,910 Mejor pasarle el NIF que el nombre 550 00:22:58,910 --> 00:23:01,309 cambia el director 551 00:23:01,309 --> 00:23:03,789 y por favor que sea el director 552 00:23:03,789 --> 00:23:04,789 con este nif, vale 553 00:23:04,789 --> 00:23:06,950 vamos a buscarlo en nuestro array 554 00:23:06,950 --> 00:23:09,930 buscamos en el array de trabajadores 555 00:23:09,930 --> 00:23:11,890 con get nif 556 00:23:11,890 --> 00:23:12,690 en este caso 557 00:23:12,690 --> 00:23:16,890 no hombre no, esto es muy 558 00:23:16,890 --> 00:23:19,690 vale, buscamos a ver si encontramos 559 00:23:19,690 --> 00:23:21,910 un trabajador dentro del array 560 00:23:21,910 --> 00:23:23,329 de empleados del departamento 561 00:23:23,329 --> 00:23:25,990 cuyo nif sea igual a este, en cuanto lo encontremos 562 00:23:25,990 --> 00:23:27,930 ya está, pues igual ahí 563 00:23:27,930 --> 00:23:30,069 Vale, aquí siempre 564 00:23:30,069 --> 00:23:31,789 Pues vendría bien lo de poner el boolean 565 00:23:31,789 --> 00:23:33,650 Para si ya lo he encontrado 566 00:23:33,650 --> 00:23:36,150 O si no hacemos una trampa 567 00:23:36,150 --> 00:23:38,230 Pues igual ahí, siempre podemos hacer esta trampa 568 00:23:38,230 --> 00:23:40,150 Igual a empleados.len 569 00:23:40,150 --> 00:23:42,130 Y el for se acabó, no se ejecuta más, ¿verdad? 570 00:23:42,769 --> 00:23:43,630 Esta trampita 571 00:23:43,630 --> 00:23:45,750 Es fea, porque es 572 00:23:45,750 --> 00:23:47,390 Es como un 573 00:23:47,390 --> 00:23:49,809 Un quiero, un break y no me atrevo 574 00:23:49,809 --> 00:23:52,089 Pues es lo más parecido a quiero 575 00:23:52,089 --> 00:23:53,630 Pero no me atrevo 576 00:23:53,630 --> 00:23:56,210 Poner el i 577 00:23:56,210 --> 00:23:58,029 en la última, entonces el for 578 00:23:58,029 --> 00:23:59,630 ya fuerza hasta que nunca más entre 579 00:23:59,630 --> 00:24:00,970 vale 580 00:24:00,970 --> 00:24:04,509 vale, y ahora ya 581 00:24:04,509 --> 00:24:11,559 y ahora ya 582 00:24:11,559 --> 00:24:12,920 si este empleado 583 00:24:12,920 --> 00:24:15,700 get departamento nombre 584 00:24:15,700 --> 00:24:16,859 equals 585 00:24:16,859 --> 00:24:18,960 dis.nombre 586 00:24:18,960 --> 00:24:20,720 pero 587 00:24:20,720 --> 00:24:23,680 ah, y que 588 00:24:23,680 --> 00:24:25,140 sea del departamento también 589 00:24:25,140 --> 00:24:27,940 vale, no, pero ya está 590 00:24:27,940 --> 00:24:31,119 claro, pero es que ya lo has verificado 591 00:24:31,119 --> 00:24:31,740 antes 592 00:24:31,740 --> 00:24:34,599 claro, ya 593 00:24:34,599 --> 00:24:36,220 si no, no habría entrado en el array 594 00:24:36,220 --> 00:24:38,039 entonces yo aquí pondría 595 00:24:38,039 --> 00:24:40,920 si pos es diferente 596 00:24:40,920 --> 00:24:42,019 de menos uno, simplemente 597 00:24:42,019 --> 00:24:44,740 si pos es diferente 598 00:24:44,740 --> 00:24:46,700 de menos uno, es que has 599 00:24:46,700 --> 00:24:48,380 encontrado al empleado, ¿verdad? 600 00:24:49,440 --> 00:24:50,099 y entonces 601 00:24:50,099 --> 00:24:52,920 que sea este, director cambiado y si no 602 00:24:52,920 --> 00:24:54,819 vale, este método 603 00:24:54,819 --> 00:24:56,779 de cambiar al director, todo el mundo lo ha 604 00:24:56,779 --> 00:24:57,920 entendido y lo tiene claro 605 00:24:57,920 --> 00:25:03,039 a ver, porque ella ha inicializado 606 00:25:03,039 --> 00:25:04,140 esta variable a menos uno 607 00:25:04,140 --> 00:25:06,779 y luego se ha puesto a buscar en el array 608 00:25:06,779 --> 00:25:08,880 hasta que ha encontrado un empleado 609 00:25:08,880 --> 00:25:10,140 cuyo nif es el que le han dado 610 00:25:10,140 --> 00:25:12,640 imagínate que no lo hubiera encontrado nunca 611 00:25:12,640 --> 00:25:15,019 y, perdón, pos seguiría 612 00:25:15,019 --> 00:25:15,740 siendo menos uno 613 00:25:15,740 --> 00:25:19,140 y si lo ha encontrado, y será 0, 1, 2, el que sea 614 00:25:19,140 --> 00:25:20,259 entonces por eso lo verifica 615 00:25:20,259 --> 00:25:22,940 ¿lo he encontrado porque pos ya no es 616 00:25:22,940 --> 00:25:24,980 menos uno? pues ya tengo un nuevo director 617 00:25:24,980 --> 00:25:26,779 que es este empleado que he encontrado 618 00:25:26,779 --> 00:25:27,259 en el array 619 00:25:27,259 --> 00:25:29,119 con ese NIF 620 00:25:29,119 --> 00:25:30,599 que no 621 00:25:30,599 --> 00:25:33,200 pues dejo el que estaba porque ese empleado 622 00:25:33,200 --> 00:25:35,299 no pertenece al departamento y luego no puede ser el jefe 623 00:25:35,299 --> 00:25:38,730 y ya se han acabado 624 00:25:38,730 --> 00:25:39,809 los métodos 625 00:25:39,809 --> 00:25:44,750 ah ya, ya se han acabado los métodos 626 00:25:44,750 --> 00:25:45,470 de las clases 627 00:25:45,470 --> 00:25:47,130 ahora tenemos ya 628 00:25:47,130 --> 00:25:50,549 la clase principal que usa estos métodos 629 00:25:50,549 --> 00:25:51,390 para gestionar cosas 630 00:25:51,390 --> 00:25:54,750 ya, a ver bueno 631 00:25:54,750 --> 00:25:58,529 pero estas dos entidades están claras hasta para 632 00:25:58,529 --> 00:26:00,029 ¿A ti que no me estás haciendo ni caso? 633 00:26:02,910 --> 00:26:04,849 Te veo pensando en tus cosas. 634 00:26:10,529 --> 00:26:12,130 ¿Que estás más perdido qué? 635 00:26:14,529 --> 00:26:16,630 El chavo del ocho del día del padre. 636 00:26:19,329 --> 00:26:20,329 ¿Pero y quién era ese? 637 00:26:20,329 --> 00:26:21,809 ¿No te acuerdas del chavo del ocho? 638 00:26:21,930 --> 00:26:27,869 El chavo del ocho yo no lo he conocido. 639 00:26:28,529 --> 00:26:31,230 ¿Y el chapulín colorado? 640 00:26:31,970 --> 00:26:32,369 Tampoco 641 00:26:32,369 --> 00:26:35,349 ¿Chispitos?