1 00:00:00,000 --> 00:00:01,459 Vamos a ver 2 00:00:01,459 --> 00:00:02,980 Entonces 3 00:00:02,980 --> 00:00:05,960 Si decís algo es porque 4 00:00:05,960 --> 00:00:08,259 pensáis que está bien 5 00:00:08,259 --> 00:00:09,640 que se grabe 6 00:00:09,640 --> 00:00:12,160 Vale, voy a ver 7 00:00:12,160 --> 00:00:13,480 donde hemos llegado 8 00:00:13,480 --> 00:00:19,910 Ok, he denunciado 9 00:00:19,910 --> 00:00:22,170 Vale, entonces, hemos estado viendo 10 00:00:22,170 --> 00:00:23,989 esto de aquí del departamento 11 00:00:23,989 --> 00:00:25,969 ¿El departamento tiene que hacer algo más? 12 00:00:26,070 --> 00:00:27,929 No. ¿Queremos probar 13 00:00:27,929 --> 00:00:29,989 un poquito lo que hemos hecho ya que tenemos 14 00:00:29,989 --> 00:00:31,989 departamento gerente empleado? 15 00:00:31,989 --> 00:00:34,090 Pues sí. Entonces voy a crearme 16 00:00:34,090 --> 00:00:50,179 por ejemplo aquí un main public static void main string argus y vamos a ver qué 17 00:00:50,179 --> 00:00:54,240 hacemos aquí dentro vale entonces lo que queremos hacer es creamos un 18 00:00:54,240 --> 00:00:58,340 departamento y miramos cuánto me cuesta cuánto me cuesta vale para crear un 19 00:00:58,340 --> 00:01:08,939 departamento, ¿cómo lo hago? Por ejemplo, departamento dept es igual a new departamento 20 00:01:08,939 --> 00:01:11,739 De new 21 00:01:11,739 --> 00:01:14,239 Empleado 22 00:01:14,239 --> 00:01:16,239 De 23 00:01:16,239 --> 00:01:23,049 Alguien 24 00:01:23,049 --> 00:01:28,480 Punto y coma 25 00:01:28,480 --> 00:01:30,799 Y luego 26 00:01:30,799 --> 00:01:31,739 Debt 27 00:01:31,739 --> 00:01:36,760 Punto 28 00:01:36,760 --> 00:01:40,939 Salario 29 00:01:40,939 --> 00:01:41,560 Debt 30 00:01:41,560 --> 00:01:44,799 Y lo escribimos esto 31 00:01:44,799 --> 00:01:49,599 Así 32 00:01:49,599 --> 00:02:00,930 Pidamos esto 33 00:02:00,930 --> 00:02:03,370 Por un lado y esto por el otro 34 00:02:03,370 --> 00:02:05,409 Vale 35 00:02:05,409 --> 00:02:07,349 Si está bien 36 00:02:07,349 --> 00:02:09,349 Esto debería dar el mismo resultado 37 00:02:09,349 --> 00:02:09,590 ¿Vale? 38 00:02:10,550 --> 00:02:15,129 No, no da el mismo resultado porque uno lo he multiplicado 39 00:02:15,129 --> 00:02:16,729 Por 1.5 y uno no 40 00:02:16,729 --> 00:02:17,370 ¿Vale? 41 00:02:18,069 --> 00:02:20,689 Para comprobarlo 42 00:02:20,689 --> 00:02:22,349 Tanto esto de aquí es solo una cosa 43 00:02:22,349 --> 00:02:24,689 Pues lo dejo a uno 44 00:02:24,689 --> 00:02:27,270 ¿Vale? 45 00:02:28,189 --> 00:02:29,610 Ok, perfecto 46 00:02:29,610 --> 00:02:31,449 Mil euros, tengo un solo departamento 47 00:02:31,449 --> 00:02:33,629 un solo, como se dice 48 00:02:33,629 --> 00:02:35,289 empleado, vale 49 00:02:35,289 --> 00:02:37,449 fenomenal, ahora por ejemplo podría 50 00:02:37,449 --> 00:02:38,710 probar, vale 51 00:02:38,710 --> 00:02:41,310 hagamos así 52 00:02:41,310 --> 00:02:42,310 SISO 53 00:02:42,310 --> 00:02:45,319 DEP 54 00:02:45,319 --> 00:02:51,740 1, vamos a hacer varias pruebas 55 00:02:51,740 --> 00:02:53,639 vale, este es el departamento 1 56 00:02:53,639 --> 00:02:55,699 probamos 57 00:02:55,699 --> 00:02:56,840 el departamento 2 58 00:02:56,840 --> 00:02:59,180 el departamento 2 59 00:02:59,180 --> 00:03:06,500 en vez de un empleado 60 00:03:06,500 --> 00:03:07,639 hace un gerente 61 00:03:07,639 --> 00:03:12,509 Con sueldo básico 62 00:03:12,509 --> 00:03:13,509 Y 63 00:03:13,509 --> 00:03:15,990 200 euros de bonus 64 00:03:15,990 --> 00:03:21,000 Lanzo 65 00:03:21,000 --> 00:03:22,759 Departamento 2 66 00:03:22,759 --> 00:03:23,860 Me lo calcula bien 67 00:03:23,860 --> 00:03:29,620 Ahora me creo un array 68 00:03:29,620 --> 00:03:32,060 De empleados y gerentes 69 00:03:32,060 --> 00:03:32,919 Mezclados 70 00:03:32,919 --> 00:03:33,960 Y a ver que pasa 71 00:03:33,960 --> 00:03:36,240 Entonces 72 00:03:36,240 --> 00:03:38,419 Empleado 73 00:03:38,419 --> 00:03:40,080 No se que 74 00:03:40,080 --> 00:03:42,580 Es igual a new 75 00:03:42,580 --> 00:03:45,120 Empleado 76 00:03:45,120 --> 00:03:46,599 De tres 77 00:03:46,599 --> 00:03:48,300 Vale 78 00:03:48,300 --> 00:03:50,979 Y le pongo 79 00:03:50,979 --> 00:03:52,620 Que emp 80 00:03:52,620 --> 00:03:53,979 De uno 81 00:03:53,979 --> 00:03:56,000 Es igual 82 00:03:56,000 --> 00:03:57,379 A new 83 00:03:57,379 --> 00:03:59,139 Empleado 84 00:03:59,139 --> 00:04:02,379 De nombre a 85 00:04:02,379 --> 00:04:06,219 Gana dos mil euros 86 00:04:06,219 --> 00:04:08,360 Y 87 00:04:08,360 --> 00:04:11,039 Local 88 00:04:11,039 --> 00:04:12,500 Date 89 00:04:12,500 --> 00:04:13,639 .now 90 00:04:13,639 --> 00:04:18,980 ¿Sí? 91 00:04:20,680 --> 00:04:21,699 Emp 2 92 00:04:21,699 --> 00:04:22,839 Bueno, Emp de 0 93 00:04:22,839 --> 00:04:28,769 El 1 94 00:04:28,769 --> 00:04:31,370 Y el 2 95 00:04:31,370 --> 00:04:35,410 Esto es un gerente 96 00:04:35,410 --> 00:04:37,870 Que le ponemos 97 00:04:37,870 --> 00:04:38,569 También 98 00:04:38,569 --> 00:04:40,990 500 euros de bonus 99 00:04:40,990 --> 00:04:42,490 ¿Vale? 100 00:04:42,490 --> 00:04:43,670 Y este de aquí 101 00:04:43,670 --> 00:04:45,550 Es otro empleado 102 00:04:45,550 --> 00:04:47,389 Pero le damos solo el nombre 103 00:04:47,389 --> 00:04:51,720 Entonces, al final 104 00:04:51,720 --> 00:04:54,079 El coste debería ser 105 00:04:54,079 --> 00:04:55,819 Dos, cuatro, cinco mil 106 00:04:55,819 --> 00:04:56,740 Cinco mil quinientos 107 00:04:56,740 --> 00:04:59,459 A ver si es verdad 108 00:04:59,459 --> 00:05:02,000 No lo he escrito 109 00:05:02,000 --> 00:05:08,680 Ah, tengo que crear el departamento 110 00:05:08,680 --> 00:05:11,379 O sea que ahora pillo todo esto 111 00:05:11,379 --> 00:05:16,399 Y creo el departamento tres 112 00:05:16,399 --> 00:05:21,079 Que se crea con un departamento 113 00:05:21,079 --> 00:05:22,579 Donde le paso aquí 114 00:05:22,579 --> 00:05:23,339 Emp 115 00:05:23,339 --> 00:05:28,990 Y ahora lo lanzo 116 00:05:28,990 --> 00:05:29,930 El departamento tres 117 00:05:29,930 --> 00:05:32,449 Vale, perfecto 118 00:05:32,449 --> 00:05:34,009 Esto funciona fenomenal 119 00:05:34,009 --> 00:05:35,350 ¿Sí? 120 00:05:50,160 --> 00:05:52,240 Fijaos que me funciona también 121 00:05:52,240 --> 00:05:53,600 Salario de departamento 2 122 00:05:53,600 --> 00:05:56,259 Eso que no obstante haya puesto empleado de gerentes 123 00:05:56,259 --> 00:05:58,540 Pues me aplica el coste 124 00:05:58,540 --> 00:06:00,379 Correctamente 125 00:06:00,379 --> 00:06:01,759 Al empleado o al gerente 126 00:06:01,759 --> 00:06:03,040 ¿Vale? 127 00:06:03,040 --> 00:06:13,379 Y ahora es el momento 128 00:06:13,379 --> 00:06:14,399 De hacerlo explotar 129 00:06:14,399 --> 00:06:17,649 Por ejemplo 130 00:06:17,649 --> 00:06:24,629 Y lo lanzamos 131 00:06:24,629 --> 00:06:27,290 ¡Bum! 132 00:06:27,290 --> 00:06:46,459 Porque mi programación muy mala no ha comprobado nunca si hay posiciones nul en este lugar, porque he asumido que nunca las hay, en vez de así poder verla. 133 00:06:49,420 --> 00:06:53,819 Entonces vamos a resolver esto en departamento. 134 00:06:53,819 --> 00:07:05,879 esto pasa aquí vale cuando yo intento acceder a estas cosas y es nul vale entonces aquí me 135 00:07:05,879 --> 00:07:24,920 pregunto si empleados de i es not null entonces hace esto lo mismo aquí vale 136 00:07:24,920 --> 00:07:29,279 Yo intentaré hacer esto 137 00:07:29,279 --> 00:07:30,259 Solo si 138 00:07:30,259 --> 00:07:31,139 If 139 00:07:31,139 --> 00:07:35,149 Empleados 140 00:07:35,149 --> 00:07:36,550 De i 141 00:07:36,550 --> 00:07:38,050 Es not null 142 00:07:38,050 --> 00:07:43,600 Entonces hace esta cosa aquí 143 00:07:43,600 --> 00:07:44,560 Si no, no 144 00:07:44,560 --> 00:07:48,680 Ahora ya no debería explotar 145 00:07:48,680 --> 00:07:49,379 No hay plata 146 00:07:49,379 --> 00:07:55,389 También antes 147 00:07:55,389 --> 00:07:56,829 Que ahora no me acuerdo donde 148 00:07:56,829 --> 00:07:57,350 Ah, sí 149 00:07:57,350 --> 00:07:58,470 Habíamos dicho 150 00:07:58,470 --> 00:07:59,930 ¿Y si quitaba esto? 151 00:07:59,930 --> 00:08:06,180 Veis que aquí 152 00:08:06,180 --> 00:08:07,319 No hay errores 153 00:08:07,319 --> 00:08:09,699 Pero ahora cuando lo lanzo 154 00:08:09,699 --> 00:08:12,199 Class Cast Exception 155 00:08:12,199 --> 00:08:13,160 ¿Vale? 156 00:08:13,639 --> 00:08:14,939 Estoy intentando 157 00:08:14,939 --> 00:08:18,339 Empleado no puede ser 158 00:08:18,339 --> 00:08:20,339 Casteado, no se puede transformar 159 00:08:20,339 --> 00:08:21,100 En un gerente 160 00:08:21,100 --> 00:08:23,660 Porque un empleado no es un gerente 161 00:08:23,660 --> 00:08:25,319 Entonces esto no lo puede hacer 162 00:08:25,319 --> 00:08:26,639 ¿Vale? 163 00:08:27,139 --> 00:08:28,779 Por eso está este if 164 00:08:28,779 --> 00:08:32,860 ¿Dudas? 165 00:08:33,940 --> 00:08:35,159 Vale, hemos probado 166 00:08:35,159 --> 00:08:37,879 Gerente, gerente función 167 00:08:37,879 --> 00:08:40,220 Departamento, departamento funciona 168 00:08:40,220 --> 00:08:42,659 Vamos adelante con el ejercicio 169 00:08:42,659 --> 00:08:46,000 Veis que de todas formas el ejercicio no es 170 00:08:46,000 --> 00:08:48,000 Una cosa súper 171 00:08:48,000 --> 00:08:49,340 Compleja, al menos por ahora 172 00:08:49,340 --> 00:08:52,000 Pero sí que esta cosa 173 00:08:52,000 --> 00:08:52,759 De la herencia 174 00:08:52,759 --> 00:08:55,980 De vez en cuando sale, ¿vale? 175 00:08:56,039 --> 00:08:58,080 Esta cosa aquí ha salido 176 00:08:58,080 --> 00:08:59,179 A raíz de la herencia 177 00:08:59,179 --> 00:09:01,519 El este de aquí 178 00:09:01,519 --> 00:09:03,860 ¿Dónde está? Esto ha salido 179 00:09:03,860 --> 00:09:05,500 Gracias a la herencia 180 00:09:05,500 --> 00:09:07,279 Etcétera, etcétera, etcétera, ¿vale? 181 00:09:09,500 --> 00:09:11,960 Crear una clase empresa 182 00:09:11,960 --> 00:09:14,559 Vale 183 00:09:14,559 --> 00:09:16,039 New 184 00:09:16,039 --> 00:09:17,259 Class 185 00:09:17,259 --> 00:09:19,519 Empresa 186 00:09:19,519 --> 00:09:24,850 Probablemente es la que tiene el main, ¿vale? 187 00:09:25,490 --> 00:09:26,990 Esta será la que gestiona todo 188 00:09:26,990 --> 00:09:29,490 ¿Qué tiene la clase empresa? 189 00:09:29,730 --> 00:09:31,669 Un array de departamentos 190 00:09:31,669 --> 00:09:35,860 Entonces aquí 191 00:09:37,059 --> 00:09:50,500 Yo tengo departamento, porque es igual a nada. 192 00:09:50,500 --> 00:09:53,059 Tendré que crear un constructor. 193 00:09:53,059 --> 00:10:11,379 Public Empresa de Departamento y Dis.Empresa 194 00:10:11,379 --> 00:10:20,620 Y tengo un método para calcular el salario total de la empresa 195 00:10:20,620 --> 00:10:23,779 public 196 00:10:23,779 --> 00:10:24,940 double 197 00:10:24,940 --> 00:10:27,120 salario 198 00:10:27,120 --> 00:10:28,419 total 199 00:10:28,419 --> 00:10:31,700 como se calculará el salario 200 00:10:31,700 --> 00:10:32,980 total de la empresa 201 00:10:32,980 --> 00:10:40,919 con un for 202 00:10:40,919 --> 00:10:43,639 int salario total 203 00:10:43,639 --> 00:10:46,440 double salario 204 00:10:46,440 --> 00:10:48,700 total es igual a 0 205 00:10:48,700 --> 00:10:50,460 return salario 206 00:10:50,460 --> 00:10:51,019 total 207 00:10:51,019 --> 00:10:53,679 for 208 00:10:53,679 --> 00:10:58,659 Int 209 00:10:58,659 --> 00:11:01,000 Contador 210 00:11:01,000 --> 00:11:02,519 Es igual a 0 211 00:11:02,519 --> 00:11:04,940 Contador menor que 212 00:11:04,940 --> 00:11:11,340 Empresa.lang 213 00:11:11,340 --> 00:11:14,879 Contador 214 00:11:14,879 --> 00:11:18,059 Más más 215 00:11:18,059 --> 00:11:20,899 Que hago 216 00:11:20,899 --> 00:11:29,620 Empresa.di 217 00:11:29,620 --> 00:11:30,600 Punto 218 00:11:30,600 --> 00:11:36,169 Salario 219 00:11:36,169 --> 00:11:37,330 De dos 220 00:11:37,330 --> 00:11:40,649 ¿Y qué hago con esto? 221 00:11:47,700 --> 00:11:47,820 ¿Sí? 222 00:11:49,500 --> 00:11:50,600 Sumo dentro 223 00:11:50,600 --> 00:11:52,240 Acumulo dentro de 224 00:11:52,240 --> 00:11:54,960 Salario, tiempo total 225 00:11:54,960 --> 00:11:55,600 ¿Vale? 226 00:11:56,220 --> 00:11:58,039 Lo que me devuelve a estos 227 00:11:58,039 --> 00:11:59,059 Contador 228 00:11:59,059 --> 00:12:03,399 Es la empresa 229 00:12:03,399 --> 00:12:04,559 En posición contador 230 00:12:04,559 --> 00:12:06,480 Y llamo el método que me dice 231 00:12:06,480 --> 00:12:08,340 Cuánto costa ese departamento 232 00:12:08,340 --> 00:12:08,980 ¿Vale? 233 00:12:09,419 --> 00:12:10,659 En concreto estos 234 00:12:10,659 --> 00:12:13,500 Más que empresas serían departamentos 235 00:12:13,500 --> 00:12:18,950 Refactor 236 00:12:18,950 --> 00:12:19,909 Refactor 237 00:12:19,909 --> 00:12:23,750 Departamentos 238 00:12:23,750 --> 00:12:24,950 ¡Voilá! 239 00:12:26,830 --> 00:12:29,269 La empresa tiene dentro todos los departamentos 240 00:12:29,269 --> 00:12:29,730 ¿Vale? 241 00:12:30,230 --> 00:12:31,850 Y hacer a todos los departamentos 242 00:12:31,850 --> 00:12:34,570 El departamento 0, 1, 2, 3, lo que haya 243 00:12:34,570 --> 00:12:36,549 Y pido el precio a cada uno 244 00:12:36,549 --> 00:12:37,409 El coste a cada uno 245 00:12:37,409 --> 00:12:39,830 El coste a cada uno lo acumulo aquí 246 00:12:39,830 --> 00:12:42,769 Y al final aquí dentro tendré el coste total 247 00:12:42,769 --> 00:12:43,769 De mi empresa 248 00:12:43,769 --> 00:12:45,590 Vale 249 00:12:45,590 --> 00:12:48,509 Y ahora vamos a probarla 250 00:12:48,509 --> 00:12:52,389 Me copio esta parte aquí 251 00:12:52,389 --> 00:12:56,750 Donde creo los tres departamentos 252 00:12:56,750 --> 00:13:03,370 Vale 253 00:13:03,370 --> 00:13:07,370 Que así puedo hacer un array de departamentos 254 00:13:07,370 --> 00:13:13,350 Departamento array deputes 255 00:13:13,350 --> 00:13:16,129 Es igual 256 00:13:16,129 --> 00:13:17,250 A 257 00:13:17,250 --> 00:13:18,350 New 258 00:13:18,350 --> 00:13:21,509 Departamentos 259 00:13:21,509 --> 00:13:22,710 Departamento 260 00:13:22,710 --> 00:13:24,049 De tres 261 00:13:24,049 --> 00:13:26,149 Tres departamentos distintos 262 00:13:26,149 --> 00:13:29,190 El primer departamento es esto 263 00:13:29,190 --> 00:13:32,470 Dept 264 00:13:32,470 --> 00:13:34,110 S 265 00:13:34,110 --> 00:13:36,070 D0 266 00:13:36,070 --> 00:13:39,649 Esto no me interesa 267 00:13:39,649 --> 00:13:43,950 He copiado el código de antes 268 00:13:43,950 --> 00:13:47,759 tengo que crear 3 departamentos 269 00:13:47,759 --> 00:13:50,039 lo estoy probando, esto es para pruebas 270 00:13:50,039 --> 00:13:51,659 para pruebas hacedlo cuando queráis 271 00:13:51,659 --> 00:13:53,679 necesito una red de departamentos 272 00:13:53,679 --> 00:13:55,659 para hacer una red de departamentos me creo 273 00:13:55,659 --> 00:13:57,259 una red de 3 departamentos 274 00:13:57,259 --> 00:13:59,440 y luego me creo 3 departamentos 275 00:13:59,440 --> 00:14:00,820 como los tenía creados 276 00:14:00,820 --> 00:14:02,720 de la 277 00:14:02,720 --> 00:14:05,000 prueba que he hecho antes 278 00:14:05,000 --> 00:14:06,980 pues me he copiado estos directamente 279 00:14:06,980 --> 00:14:09,259 para no crear 280 00:14:09,259 --> 00:14:10,840 otra vez 3 nuevos 281 00:14:10,840 --> 00:14:11,840 vale 282 00:14:11,840 --> 00:14:14,539 de alguna forma lo hago rápido 283 00:14:14,539 --> 00:14:16,080 Y luego después os dejo mirarlo 284 00:14:16,080 --> 00:14:22,379 Y esta es parte toda la que escribía en pantalla 285 00:14:22,379 --> 00:14:23,120 No me interesa 286 00:14:23,120 --> 00:14:28,610 Esto de aquí 287 00:14:28,610 --> 00:14:31,590 Lo necesito 288 00:14:31,590 --> 00:14:33,470 Y este de aquí 289 00:14:33,470 --> 00:14:34,649 En mi depth 290 00:14:34,649 --> 00:14:43,429 Vale, entonces 291 00:14:43,429 --> 00:14:45,929 Me he creado un array de departamentos 292 00:14:45,929 --> 00:14:48,389 ¿Vale? Utilizando lo que teníamos antes 293 00:14:48,389 --> 00:14:49,889 El primer departamento 294 00:14:49,889 --> 00:14:51,789 ¿Cómo lo hago? Con un nuevo departamento 295 00:14:51,789 --> 00:14:52,950 Con un empleado solo 296 00:14:52,950 --> 00:14:54,149 Este empleado de aquí 297 00:14:54,149 --> 00:14:56,990 vale, fenomenal 298 00:14:56,990 --> 00:14:58,769 el segundo departamento 299 00:14:58,769 --> 00:15:00,669 es un nuevo departamento 300 00:15:00,669 --> 00:15:01,730 y le he pasado 301 00:15:01,730 --> 00:15:04,289 otro empleado 302 00:15:04,289 --> 00:15:07,129 entonces estos dos departamentos tienen un empleado 303 00:15:07,129 --> 00:15:08,809 solo, y luego 304 00:15:08,809 --> 00:15:10,889 el tercero, he creado 305 00:15:10,889 --> 00:15:12,350 un array de empleados 306 00:15:12,350 --> 00:15:14,730 donde le he puesto 307 00:15:14,730 --> 00:15:16,590 dentro tres empleados 308 00:15:16,590 --> 00:15:18,129 un empleado, un gerente y un null 309 00:15:18,129 --> 00:15:19,330 para hacer pruebas 310 00:15:19,330 --> 00:15:22,750 y lo que he hecho es crear 311 00:15:22,750 --> 00:15:23,789 Un departamento 312 00:15:23,789 --> 00:15:26,190 Pasándole la red de empleados 313 00:15:26,190 --> 00:15:28,409 Así estoy probando todos los 314 00:15:28,409 --> 00:15:29,570 Constructores que tengo 315 00:15:29,570 --> 00:15:32,029 Si 316 00:15:32,029 --> 00:15:34,110 Y ahora 317 00:15:34,110 --> 00:15:35,129 La parte nueva 318 00:15:35,129 --> 00:15:37,230 Que es 319 00:15:37,230 --> 00:15:38,870 Empresa 320 00:15:38,870 --> 00:15:41,750 Es igual a 321 00:15:41,750 --> 00:15:43,509 New empresa 322 00:15:43,509 --> 00:15:45,090 Al que le paso 323 00:15:45,090 --> 00:15:47,629 Depths 324 00:15:47,629 --> 00:15:53,870 O sea estoy pasando 325 00:15:53,870 --> 00:15:55,450 A la empresa 326 00:15:55,450 --> 00:15:56,629 Emp ya existe 327 00:15:56,629 --> 00:16:06,320 sí entonces empresa mientras creo una empresa mía al que le pasó como constructor una red 328 00:16:06,320 --> 00:16:22,500 de departamentos que es el que he creado aquí para hacer mi prueba y ahora si yo mi empresa punto 329 00:16:22,500 --> 00:16:35,100 Esto me debería llamar el salario de cada departamento, sumarlo todo y darme el coste 330 00:16:35,100 --> 00:17:12,970 total de mi empresa, 6700 euros. Tampoco me cuesta mucho. 331 00:17:12,970 --> 00:17:16,890 Vale, y yo aquí me paro.