1 00:00:00,000 --> 00:00:06,219 Bueno, añadir cliente, un poco rollo escribirlo, pero bueno, vamos a escribirlo rápidamente 2 00:00:06,219 --> 00:00:09,320 Vamos a decirle que elija 3 00:00:09,320 --> 00:00:15,960 A ver, primero le decimos de tienda o online 4 00:00:15,960 --> 00:00:23,179 Vale, y ahora leemos el tipo así 5 00:00:23,179 --> 00:00:30,879 Vale, de tienda o online 6 00:00:30,879 --> 00:00:34,179 Y ahora ya pedimos los datos, NIF nombre y dirección o email 7 00:00:34,179 --> 00:00:35,179 Eso ya sí que va a valer 8 00:00:35,179 --> 00:00:39,420 NIF 9 00:00:39,420 --> 00:00:46,000 Y ahora leemos el NIF 10 00:00:46,000 --> 00:00:52,920 NIF de esto 11 00:00:52,920 --> 00:00:53,159 NIF de esto 12 00:00:53,179 --> 00:00:57,719 Leer cadena, lo mismo para el nombre 13 00:00:57,719 --> 00:01:08,920 Lo mismo para el nombre 14 00:01:08,920 --> 00:01:17,180 Y ahora sí que se pide dirección o email en función de si es de tienda o... 15 00:01:18,200 --> 00:01:18,960 Y ya está 16 00:01:19,319 --> 00:01:22,700 Pues si tipo es igual a 1 17 00:01:22,700 --> 00:01:22,960 Y 18 00:01:23,180 --> 00:01:27,480 Pues entonces habrá que decirle, como es de tienda, que introduzca dirección 19 00:01:27,480 --> 00:01:39,320 Vale, y en ese caso, pues ahora ya leemos la dirección 20 00:01:39,320 --> 00:01:45,820 Estrindir igual a 21 00:01:45,820 --> 00:01:51,219 Cadena 22 00:01:51,740 --> 00:01:51,760 Vale, y aprovechamos ya aquí... 23 00:01:51,760 --> 00:01:52,000 Vale, y aprovechamos ya aquí... 24 00:01:52,000 --> 00:01:52,460 Vale, y aprovechamos ya aquí... 25 00:01:52,460 --> 00:01:52,520 Vale, y aprovechamos ya aquí... 26 00:01:52,519 --> 00:01:53,259 Vale, y aprovechamos ya aquí... 27 00:01:53,259 --> 00:01:58,219 Para crear un objeto cliente tienda, porque estamos en tipo 1 28 00:01:58,219 --> 00:02:00,519 Pues entonces nos hacemos un... 29 00:02:01,939 --> 00:02:03,239 Cliente tienda 30 00:02:03,239 --> 00:02:07,840 Cliente tienda C 31 00:02:07,840 --> 00:02:12,979 ¿Perdón? 32 00:02:14,199 --> 00:02:18,199 Sí, esto es primero para que me digan qué tipo de cliente va a crear 33 00:02:18,199 --> 00:02:19,479 Ahora ya 34 00:02:19,479 --> 00:02:21,900 Nombre y NIF, ¿cómo es de ambos? 35 00:02:22,520 --> 00:02:23,320 Nombre y NIF, ¿cómo es de ambos? 36 00:02:23,320 --> 00:02:24,180 Los leo para ambos 37 00:02:24,180 --> 00:02:26,740 Y ahora ya, si es de tienda, le pido dirección 38 00:02:26,740 --> 00:02:30,500 Y creo un cliente tienda 39 00:02:30,500 --> 00:02:34,300 Como en cliente tienda no le he hecho constructores 40 00:02:34,300 --> 00:02:38,939 A propósito, porque lo de los constructores con herencia es un pelinín más complicado 41 00:02:38,939 --> 00:02:40,840 Lo creo sin parámetros 42 00:02:40,840 --> 00:02:42,760 Y ahora le voy a fijar los valores 43 00:02:42,760 --> 00:02:44,719 Vale, con el set y el net 44 00:02:44,719 --> 00:02:48,879 Como veis, C es objeto cliente tienda 45 00:02:48,879 --> 00:02:50,860 ¿Verdad? Es cliente tienda 46 00:02:50,860 --> 00:02:52,000 Y en cliente tienda, le pido dirección 47 00:02:52,000 --> 00:02:53,159 En cliente tienda 48 00:02:53,159 --> 00:02:56,319 Me he lanzado 49 00:02:56,319 --> 00:02:57,800 Me pasa a menudo 50 00:02:57,800 --> 00:03:00,240 En cliente tienda 51 00:03:00,240 --> 00:03:01,939 Como veis 52 00:03:01,939 --> 00:03:04,419 No hay un método set NIF 53 00:03:04,419 --> 00:03:06,460 Cliente tienda, fijaos lo que tiene 54 00:03:06,460 --> 00:03:08,400 Esto, no tiene más que esto 55 00:03:08,400 --> 00:03:13,860 Pero no pasa nada porque lo ha heredado de cliente 56 00:03:13,860 --> 00:03:16,439 Entonces como lo ha heredado de cliente 57 00:03:16,439 --> 00:03:18,500 Yo lo estoy pudiendo usar sin ningún problema 58 00:03:18,500 --> 00:03:20,580 ¿No? 59 00:03:20,879 --> 00:03:21,800 C es objeto cliente tienda 60 00:03:21,800 --> 00:03:23,120 Un objeto cliente tienda 61 00:03:23,120 --> 00:03:25,580 No tiene un método set NIF 62 00:03:25,580 --> 00:03:26,240 No lo tiene 63 00:03:26,240 --> 00:03:29,320 Pero lo tiene heredado, aunque yo no lo vea físicamente 64 00:03:29,320 --> 00:03:30,640 Aunque yo no lo vea hasta ahí 65 00:03:30,640 --> 00:03:34,300 Entonces 66 00:03:34,300 --> 00:03:37,140 Ahora 67 00:03:37,140 --> 00:03:38,800 Voy a hacer lo mismo 68 00:03:38,800 --> 00:03:40,060 Voy a fijarle el nombre 69 00:03:40,060 --> 00:03:45,740 Y voy a fijarle la dirección 70 00:03:45,740 --> 00:03:46,800 ¿Vale? 71 00:03:51,800 --> 00:03:54,200 Entonces, recopilamos 72 00:03:54,200 --> 00:03:57,340 Si el tipo de cliente que vas a meter es tienda 73 00:03:57,340 --> 00:03:58,920 Pido la dirección 74 00:03:58,920 --> 00:04:00,180 Que es el dato que me falta 75 00:04:00,180 --> 00:04:01,860 Porque el NIF y el nombre los tengo arriba 76 00:04:01,860 --> 00:04:03,300 Pido la dirección 77 00:04:03,300 --> 00:04:06,600 Y construyo un objeto de cliente tienda 78 00:04:06,600 --> 00:04:07,580 Con esos tres valores 79 00:04:07,580 --> 00:04:09,320 ¿Vale? Los construyo 80 00:04:09,320 --> 00:04:11,800 Ya tengo mi objeto cliente tienda con esos tres 81 00:04:11,800 --> 00:04:14,680 ¿Vale? Y de nuevo, repito 82 00:04:14,680 --> 00:04:16,740 Fijaos que estos métodos que estoy llamando 83 00:04:16,740 --> 00:04:18,100 El set NIF y el set nombre 84 00:04:18,100 --> 00:04:20,980 No están escritos específicamente 85 00:04:20,980 --> 00:04:21,780 En la clase cliente tienda 86 00:04:21,800 --> 00:04:24,939 Pero es que están en cliente 87 00:04:24,939 --> 00:04:28,180 ¿Vale? 88 00:04:31,280 --> 00:04:32,840 Y ahora con ese 89 00:04:32,840 --> 00:04:34,860 ¿Vale? 90 00:04:37,420 --> 00:04:40,280 Y ahora ese cliente que acabo de crear 91 00:04:40,280 --> 00:04:42,980 ¿Vale? 92 00:04:44,600 --> 00:04:46,160 Lo añado a la RAI 93 00:04:46,160 --> 00:04:47,420 ¿Vale? 94 00:04:51,800 --> 00:04:53,000 Lo añado a la RAI 95 00:04:53,000 --> 00:04:53,900 ¿Vale? 96 00:04:55,120 --> 00:04:57,079 Añadir a la RAI es lo de siempre 97 00:04:57,079 --> 00:04:58,560 Añadir a la RAI es 98 00:04:58,560 --> 00:05:01,160 Me creo un RAI 99 00:05:01,160 --> 00:05:02,800 Auxiliar 100 00:05:02,800 --> 00:05:05,280 De clientes 101 00:05:05,280 --> 00:05:15,519 De una posición mayor 102 00:05:15,519 --> 00:05:18,280 Que el que me han dado 103 00:05:18,280 --> 00:05:20,900 Clientes.length 104 00:05:21,800 --> 00:05:23,340 Más uno 105 00:05:23,340 --> 00:05:29,139 Copio uno en otro 106 00:05:29,139 --> 00:05:41,420 Copio uno en otro 107 00:05:41,420 --> 00:05:49,580 Una vez que he terminado de copiar 108 00:05:49,580 --> 00:05:51,680 La posición adicional, la relleno 109 00:05:51,680 --> 00:05:51,780 Y ahora voy a copiar 110 00:05:51,800 --> 00:05:53,439 Que es esta 111 00:05:53,439 --> 00:05:57,199 La relleno con el nuevo 112 00:05:57,199 --> 00:05:57,960 C 113 00:05:57,960 --> 00:06:00,240 Y sobre escribo uno en el otro 114 00:06:00,240 --> 00:06:01,960 Clientes igual a aux 115 00:06:01,960 --> 00:06:09,100 Vale, obviamente hacer todo esto 116 00:06:09,100 --> 00:06:10,480 En el menú del switch case 117 00:06:10,480 --> 00:06:11,379 Era un rollo 118 00:06:11,379 --> 00:06:12,740 Mejor en un método auxiliar 119 00:06:12,740 --> 00:06:14,740 ¿Vale? 120 00:06:15,139 --> 00:06:16,420 Me he hecho un nuevo cliente 121 00:06:16,420 --> 00:06:17,420 Con sus tres datos 122 00:06:17,420 --> 00:06:19,480 Aquí ya me he aprovechado de la herencia 123 00:06:19,480 --> 00:06:20,340 Por primera vez 124 00:06:20,340 --> 00:06:21,340 Y ahora voy a copiar 125 00:06:21,340 --> 00:06:21,780 Y ahora voy a copiar 126 00:06:21,800 --> 00:06:25,220 Aquí me he aprovechado de la herencia 127 00:06:25,220 --> 00:06:25,920 Por primera vez 128 00:06:25,920 --> 00:06:27,720 Por estos sets que son heredados 129 00:06:27,720 --> 00:06:28,379 De clientes 130 00:06:28,379 --> 00:06:29,060 No están aquí 131 00:06:29,060 --> 00:06:31,400 Y ahora ya lo he metido 132 00:06:31,400 --> 00:06:32,340 En una posición adicional 133 00:06:32,340 --> 00:06:33,420 Del RAI que me han pasado 134 00:06:33,420 --> 00:06:35,319 Este es el RAI que me han pasado 135 00:06:35,319 --> 00:06:36,900 Pues me hago uno adicional 136 00:06:36,900 --> 00:06:37,920 Lo de siempre 137 00:06:37,920 --> 00:06:38,759 Le pongo el nuevo 138 00:06:38,759 --> 00:06:39,879 Y sobre escribo 139 00:06:39,879 --> 00:06:41,259 Lo de siempre 140 00:06:41,259 --> 00:06:42,160 Vale 141 00:06:42,160 --> 00:06:44,639 Entonces si tipo no es igual a uno 142 00:06:44,639 --> 00:06:46,060 Sino que es igual a dos 143 00:06:46,060 --> 00:06:48,259 Voy a asumir 144 00:06:48,259 --> 00:06:49,960 Para que no sea el código tan largo 145 00:06:49,960 --> 00:06:51,040 No voy a verificarlo todo 146 00:06:51,040 --> 00:06:51,680 Asumo que el tipo es igual a uno 147 00:06:51,680 --> 00:06:53,139 O ha puesto uno 148 00:06:53,139 --> 00:06:53,819 O ha puesto dos 149 00:06:53,819 --> 00:06:54,519 Ya está 150 00:06:54,519 --> 00:06:55,480 Porque es que si no me vuelvo 151 00:06:55,480 --> 00:06:55,819 Si no 152 00:06:55,819 --> 00:06:57,980 Pues no han metido el número correcto 153 00:06:57,980 --> 00:06:59,180 Porque es que ya se hace enorme 154 00:06:59,180 --> 00:07:00,600 Entonces lo metemos en un ELSE 155 00:07:00,600 --> 00:07:01,060 Y ya está 156 00:07:01,060 --> 00:07:03,220 El ELSE asumimos que es el dos 157 00:07:03,220 --> 00:07:04,240 Que lo ha hecho bien 158 00:07:04,240 --> 00:07:05,259 Porque si no 159 00:07:05,259 --> 00:07:08,220 Y en el dos sería lo mismo 160 00:07:08,220 --> 00:07:11,660 Pero cambiando dirección por email 161 00:07:11,660 --> 00:07:15,800 ¿Verdad? 162 00:07:16,000 --> 00:07:17,079 Cambiando dirección 163 00:07:17,079 --> 00:07:18,780 Por email 164 00:07:21,680 --> 00:07:24,300 Vale 165 00:07:24,300 --> 00:07:30,139 Y aquí cambiando cliente tienda 166 00:07:30,139 --> 00:07:31,959 Por cliente online 167 00:07:31,959 --> 00:07:44,740 Y aquí cambiando set dirección 168 00:07:44,740 --> 00:07:46,019 Por set email 169 00:07:46,019 --> 00:07:49,420 Vale 170 00:07:49,420 --> 00:07:50,519 Aquí sería lo mismo 171 00:07:50,519 --> 00:07:51,660 Pido el email 172 00:07:51,680 --> 00:07:54,220 Me hago ahora un cliente online 173 00:07:54,220 --> 00:07:56,139 Al que le fijo los tres parámetros 174 00:07:56,139 --> 00:07:58,040 Hombre, esto para que quede más bonito 175 00:07:58,040 --> 00:07:58,720 En lugar de dirlo 176 00:07:58,720 --> 00:07:59,420 Voy a llamar email 177 00:07:59,420 --> 00:08:10,819 Lo voy a llamar email 178 00:08:10,819 --> 00:08:11,420 Y lo mismo 179 00:08:11,420 --> 00:08:21,340 Vale, entonces si recopilamos 180 00:08:21,340 --> 00:08:23,040 Lo que hemos hecho en este método 181 00:08:23,040 --> 00:08:24,040 Es simplemente eso 182 00:08:24,040 --> 00:08:27,100 Pedir el tipo de cliente 183 00:08:27,100 --> 00:08:28,680 Pedir los datos comunes 184 00:08:28,680 --> 00:08:30,420 Y luego ya 185 00:08:30,420 --> 00:08:32,660 En función del tipo de cliente 186 00:08:32,660 --> 00:08:33,860 O pedir dirección 187 00:08:33,860 --> 00:08:37,160 Y construir el objeto cliente tienda 188 00:08:37,160 --> 00:08:38,200 O pedir email 189 00:08:38,200 --> 00:08:39,860 Y construir el objeto cliente online 190 00:08:39,860 --> 00:08:43,519 ¿Vale? 191 00:08:44,560 --> 00:08:45,940 Pero hombre, ya que estamos 192 00:08:45,940 --> 00:08:48,139 Jolín 193 00:08:48,139 --> 00:08:49,800 Si esto 194 00:08:49,800 --> 00:08:51,000 Este código 195 00:08:51,000 --> 00:08:52,519 De aquí hasta aquí 196 00:08:52,519 --> 00:08:54,059 Es igualito arriba y abajo 197 00:08:54,059 --> 00:08:55,000 Es igualito 198 00:08:55,000 --> 00:08:58,139 No es igualito arriba y abajo 199 00:08:58,139 --> 00:09:00,840 Vamos a sacarlo fuera de elif 200 00:09:00,840 --> 00:09:01,919 Else, ¿verdad? 201 00:09:13,919 --> 00:09:14,519 ¿Perdona? 202 00:09:15,580 --> 00:09:16,480 En cliente tenemos 203 00:09:16,480 --> 00:09:18,139 Nif y nombre 204 00:09:18,139 --> 00:09:20,200 Sí 205 00:09:20,200 --> 00:09:20,220 ¿Sí? 206 00:09:21,000 --> 00:09:22,600 Sí 207 00:09:22,600 --> 00:09:25,720 Es que nosotros los hemos quitado 208 00:09:25,720 --> 00:09:26,440 Claro 209 00:09:26,440 --> 00:09:27,460 Vale, a ver 210 00:09:27,460 --> 00:09:28,980 Repito 211 00:09:28,980 --> 00:09:29,600 Entonces 212 00:09:29,600 --> 00:09:31,340 No 213 00:09:31,340 --> 00:09:32,799 No os perdáis 214 00:09:32,799 --> 00:09:34,039 Porque todo esto es 215 00:09:34,039 --> 00:09:36,500 Entonces uno se da cuenta y dice 216 00:09:36,500 --> 00:09:37,019 Jolines 217 00:09:37,019 --> 00:09:39,460 De aquí hasta aquí 218 00:09:39,460 --> 00:09:41,320 Es que es igualito 219 00:09:41,320 --> 00:09:43,419 Me hago uno añadido 220 00:09:43,419 --> 00:09:44,759 Cofio y pego 221 00:09:44,759 --> 00:09:45,440 Y ahora pongo 222 00:09:45,440 --> 00:09:46,899 El nuevo aquí 223 00:09:46,899 --> 00:09:47,879 Es que es el mismo 224 00:09:47,879 --> 00:09:48,539 Este código 225 00:09:48,539 --> 00:09:49,980 Y el código de abajo 226 00:09:49,980 --> 00:09:50,980 Son ideas 227 00:09:51,000 --> 00:09:51,379 Idénticos 228 00:09:51,379 --> 00:09:51,899 Clavados 229 00:09:51,899 --> 00:09:52,840 Línea por línea 230 00:09:52,840 --> 00:09:53,019 ¿No? 231 00:09:53,600 --> 00:09:54,240 Entonces uno diría 232 00:09:54,240 --> 00:09:54,980 Si hago eso 233 00:09:54,980 --> 00:09:56,200 Tanto en elif como en elelse 234 00:09:56,200 --> 00:09:57,620 Estoy haciendo lo mismo 235 00:09:57,620 --> 00:09:58,580 Vaya por elif 236 00:09:58,580 --> 00:09:59,100 Vaya por elif 237 00:09:59,100 --> 00:09:59,580 Estoy haciendo lo mismo 238 00:09:59,580 --> 00:09:59,980 Hombre 239 00:09:59,980 --> 00:10:01,480 Pues póntelo luego al final 240 00:10:01,480 --> 00:10:01,960 Y ya está 241 00:10:01,960 --> 00:10:02,519 ¿No? 242 00:10:02,620 --> 00:10:03,480 Podría pensar uno 243 00:10:03,480 --> 00:10:04,639 ¿Vale? 244 00:10:05,480 --> 00:10:07,019 Pues este que es el mismo código 245 00:10:07,019 --> 00:10:07,620 Igualito 246 00:10:07,620 --> 00:10:08,220 Idéntico 247 00:10:08,220 --> 00:10:08,700 Igualito 248 00:10:08,700 --> 00:10:09,399 Arriba y abajo 249 00:10:09,399 --> 00:10:10,620 Igualito 250 00:10:10,620 --> 00:10:12,519 Vamos a quitarlo de ahí 251 00:10:12,519 --> 00:10:15,399 Y vamos a quitarlo de aquí 252 00:10:15,399 --> 00:10:17,120 Porque es igualito 253 00:10:17,120 --> 00:10:17,679 Igualito 254 00:10:17,679 --> 00:10:20,600 Y lo voy a poner aquí al final 255 00:10:20,600 --> 00:10:23,100 ¿Verdad? 256 00:10:24,240 --> 00:10:25,740 No tendría más sentido 257 00:10:25,740 --> 00:10:27,680 Si ese código es igualito 258 00:10:27,680 --> 00:10:29,040 A ver 259 00:10:29,040 --> 00:10:30,820 No te pongas nervioso 260 00:10:30,820 --> 00:10:33,460 Retrotraemos 261 00:10:33,460 --> 00:10:37,600 Ok 262 00:10:37,600 --> 00:10:38,399 Vamos a ver 263 00:10:38,399 --> 00:10:38,659 Tú tienes 264 00:10:38,659 --> 00:10:39,779 Imagínate que tú tienes un 265 00:10:39,779 --> 00:10:41,399 If no sé qué 266 00:10:41,399 --> 00:10:42,620 System printout 267 00:10:42,620 --> 00:10:42,920 Hola 268 00:10:42,920 --> 00:10:43,540 Else 269 00:10:43,540 --> 00:10:44,259 System printout 270 00:10:44,259 --> 00:10:44,820 Hola 271 00:10:44,820 --> 00:10:45,700 Pues hombre 272 00:10:45,700 --> 00:10:47,100 Si hago lo mismo 273 00:10:47,100 --> 00:10:47,660 Vaya por elif 274 00:10:47,660 --> 00:10:48,000 Por elelse 275 00:10:48,000 --> 00:10:49,200 Pues pongo el system printout 276 00:10:49,200 --> 00:10:49,720 Hola 277 00:10:49,720 --> 00:10:50,080 Fuera 278 00:10:50,080 --> 00:10:50,580 Ya está 279 00:10:50,600 --> 00:10:51,820 Es lo que quiero decir 280 00:10:51,820 --> 00:10:52,320 Simplemente 281 00:10:52,320 --> 00:10:52,820 Solo eso 282 00:10:52,820 --> 00:10:53,779 ¿No? 283 00:10:53,860 --> 00:10:54,240 Si yo 284 00:10:54,240 --> 00:10:55,460 Esas líneas 285 00:10:55,460 --> 00:10:56,279 Las hago igual 286 00:10:56,279 --> 00:10:57,139 Al final del if 287 00:10:57,139 --> 00:10:58,019 Que al final del else 288 00:10:58,019 --> 00:10:58,779 Que son iguales 289 00:10:58,779 --> 00:10:59,899 Las saco 290 00:10:59,899 --> 00:11:03,120 A eso vamos 291 00:11:03,120 --> 00:11:03,680 ¿Vale? 292 00:11:03,879 --> 00:11:04,360 Entonces 293 00:11:04,360 --> 00:11:05,720 A lo que vamos 294 00:11:05,720 --> 00:11:06,440 Yo aquí tengo 295 00:11:06,440 --> 00:11:07,600 Un if 296 00:11:07,600 --> 00:11:08,600 Que 297 00:11:08,600 --> 00:11:10,360 Me hace una cosa 298 00:11:10,360 --> 00:11:11,060 Y en el else 299 00:11:11,060 --> 00:11:12,420 Me hace lo mismo clavado 300 00:11:12,420 --> 00:11:14,040 Pues lo saco fuera 301 00:11:14,040 --> 00:11:15,420 Porque 302 00:11:15,420 --> 00:11:16,420 Me refiero 303 00:11:16,420 --> 00:11:16,960 Que esa cosa 304 00:11:16,960 --> 00:11:17,660 La va a hacer igual 305 00:11:17,660 --> 00:11:18,200 Vaya por if 306 00:11:18,200 --> 00:11:18,700 Que por elelse 307 00:11:18,700 --> 00:11:19,480 Pues la saco fuera 308 00:11:19,480 --> 00:11:20,279 ¿Verdad? 309 00:11:20,320 --> 00:11:20,580 Así funciona 310 00:11:20,600 --> 00:11:21,340 El if y el else 311 00:11:21,340 --> 00:11:22,460 ¿No? 312 00:11:22,740 --> 00:11:24,180 Esto es lo mismo que decir 313 00:11:24,180 --> 00:11:25,040 Por si alguien 314 00:11:25,040 --> 00:11:26,659 Imaginaos que tenemos 315 00:11:26,659 --> 00:11:28,379 Aquí un 316 00:11:28,379 --> 00:11:31,139 Vamos a hacer un método cualquiera 317 00:11:31,139 --> 00:11:32,980 ¿No? 318 00:11:33,560 --> 00:11:34,840 Imaginaos que tenemos aquí 319 00:11:34,840 --> 00:11:35,560 Pues eso 320 00:11:35,560 --> 00:11:38,720 Un if condición cualquiera 321 00:11:38,720 --> 00:11:41,600 Uno igual a dos 322 00:11:41,600 --> 00:11:43,460 Que no me ponga error de compilación 323 00:11:43,460 --> 00:11:44,740 Cualquier condición idiota 324 00:11:44,740 --> 00:11:47,180 Si se cumple esta condición 325 00:11:47,180 --> 00:11:48,360 Pues entonces 326 00:11:48,360 --> 00:11:50,580 Me haces 327 00:11:50,580 --> 00:11:52,440 Int n 328 00:11:52,440 --> 00:11:54,780 Igual a uno 329 00:11:54,780 --> 00:11:56,460 Y luego además 330 00:11:56,460 --> 00:11:57,660 Me saludas 331 00:11:57,660 --> 00:11:58,940 Ala 332 00:11:58,940 --> 00:11:59,740 Y si no 333 00:11:59,740 --> 00:12:02,840 Pues en ese caso 334 00:12:02,840 --> 00:12:03,800 Me haces 335 00:12:03,800 --> 00:12:04,920 Int m 336 00:12:04,920 --> 00:12:05,759 Igual a dos 337 00:12:05,759 --> 00:12:07,560 Y además 338 00:12:07,560 --> 00:12:09,600 Me saludas 339 00:12:09,600 --> 00:12:12,759 Esta es nuestra situación 340 00:12:12,759 --> 00:12:13,060 ¿No? 341 00:12:13,900 --> 00:12:15,000 Esta es nuestra situación 342 00:12:15,000 --> 00:12:16,920 Es la misma situación de arriba 343 00:12:16,920 --> 00:12:18,640 Tengo un if y un else 344 00:12:18,640 --> 00:12:20,340 Y la parte del final 345 00:12:20,340 --> 00:12:22,100 Es idéntica en ambas partes 346 00:12:22,100 --> 00:12:25,220 Es la misma situación de arriba 347 00:12:25,220 --> 00:12:25,660 Lo mismo 348 00:12:25,660 --> 00:12:27,519 Tengo un if y un else 349 00:12:27,519 --> 00:12:28,960 Y esto es igual en ambos 350 00:12:28,960 --> 00:12:30,700 Entonces hombre 351 00:12:30,700 --> 00:12:31,379 Este código 352 00:12:31,379 --> 00:12:33,759 Este código es exactamente igual 353 00:12:33,759 --> 00:12:35,560 Que si yo quito estas dos cosas 354 00:12:35,560 --> 00:12:36,440 Y las pongo al final 355 00:12:36,440 --> 00:12:37,899 Hago lo mismo 356 00:12:37,899 --> 00:12:38,580 ¿No? 357 00:12:41,340 --> 00:12:41,960 Entonces digo 358 00:12:41,960 --> 00:12:42,139 Hombre 359 00:12:42,139 --> 00:12:43,180 ¿Para qué lo haces? 360 00:12:43,500 --> 00:12:44,860 Si se cumple la condición 361 00:12:44,860 --> 00:12:45,660 Haz esto de aquí 362 00:12:45,660 --> 00:12:46,280 Más esto 363 00:12:46,280 --> 00:12:47,400 Y si se cumple 364 00:12:47,400 --> 00:12:48,080 Haz esto de aquí 365 00:12:48,080 --> 00:12:48,639 Más esto 366 00:12:48,639 --> 00:12:49,060 O sea 367 00:12:49,060 --> 00:12:50,200 Esto lo haces igual 368 00:12:50,200 --> 00:12:51,060 Vaya por donde vayas 369 00:12:51,060 --> 00:12:51,860 Pues hombre 370 00:12:51,860 --> 00:12:52,480 Ponlo fuera 371 00:12:52,480 --> 00:12:53,320 ¿Vale? 372 00:12:53,340 --> 00:12:53,840 Es lo que 373 00:12:53,840 --> 00:12:54,820 Es decir 374 00:12:54,820 --> 00:12:55,759 Este código 375 00:12:55,759 --> 00:12:58,280 Y este otro 376 00:12:58,280 --> 00:13:02,500 Y este otro 377 00:13:02,500 --> 00:13:05,320 Son exactamente igual 378 00:13:05,320 --> 00:13:05,720 ¿Verdad? 379 00:13:06,320 --> 00:13:06,840 Entonces pues 380 00:13:06,840 --> 00:13:07,340 ¿Para qué? 381 00:13:07,640 --> 00:13:09,340 Meter esto en las dos ramas 382 00:13:09,340 --> 00:13:10,700 Lo pones fuera 383 00:13:10,700 --> 00:13:12,480 Y el efecto es el mismo 384 00:13:12,480 --> 00:13:14,320 El efecto es que se va a hacer igual 385 00:13:14,320 --> 00:13:16,000 Vaya por el if que por el else 386 00:13:16,000 --> 00:13:16,580 ¿Vale? 387 00:13:17,360 --> 00:13:17,840 ¿Vale? 388 00:13:17,879 --> 00:13:19,379 Es la situación que se nos está dando 389 00:13:19,379 --> 00:13:20,080 En el for de arriba 390 00:13:20,080 --> 00:13:20,180 ¿Vale? 391 00:13:20,200 --> 00:13:21,900 En el for de arriba 392 00:13:21,900 --> 00:13:22,860 Este código 393 00:13:22,860 --> 00:13:24,740 Era idéntico clavado 394 00:13:24,740 --> 00:13:25,860 Idéntico clavado 395 00:13:25,860 --> 00:13:27,320 Aquí al final 396 00:13:27,320 --> 00:13:28,400 Y aquí al final 397 00:13:28,400 --> 00:13:29,660 Era idéntico clavado 398 00:13:29,660 --> 00:13:30,980 Entonces si era idéntico clavado 399 00:13:30,980 --> 00:13:32,120 Sácalo fuera 400 00:13:32,120 --> 00:13:33,740 ¿Vale? 401 00:13:33,800 --> 00:13:34,660 Hasta ahí tiene sentido 402 00:13:34,660 --> 00:13:34,860 ¿No? 403 00:13:36,480 --> 00:13:36,759 ¿Sí? 404 00:13:37,620 --> 00:13:38,259 Claro 405 00:13:38,259 --> 00:13:39,020 Pero ahora 406 00:13:39,020 --> 00:13:41,340 Lo sacamos fuera 407 00:13:41,340 --> 00:13:43,300 Y esta c 408 00:13:43,300 --> 00:13:44,840 Se me pone roja 409 00:13:44,840 --> 00:13:49,620 ¿Por qué esta c se me pone roja? 410 00:13:49,620 --> 00:13:51,860 Esa es la más importante de entender 411 00:13:51,860 --> 00:13:54,560 Claro 412 00:13:54,560 --> 00:13:55,379 Porque esta c 413 00:13:55,379 --> 00:13:57,700 Es la variable cliente 414 00:13:57,700 --> 00:14:00,100 Que yo la he declarado 415 00:14:00,100 --> 00:14:01,440 Aquí 416 00:14:01,440 --> 00:14:02,960 En la parte del if 417 00:14:02,960 --> 00:14:05,240 O aquí en la parte del else 418 00:14:05,240 --> 00:14:06,299 La tengo declarada aquí 419 00:14:06,299 --> 00:14:07,940 Y recordad que una variable 420 00:14:07,940 --> 00:14:09,820 Solo es visible 421 00:14:09,820 --> 00:14:11,320 En el bloque 422 00:14:11,320 --> 00:14:13,299 En el que está declarada 423 00:14:13,299 --> 00:14:16,180 Y en los bloques que 424 00:14:16,180 --> 00:14:17,440 Hay adentro de ese 425 00:14:17,440 --> 00:14:18,259 Si es que hay alguno 426 00:14:18,259 --> 00:14:19,200 Con lo cual 427 00:14:19,200 --> 00:14:20,000 La variable c 428 00:14:20,000 --> 00:14:21,560 Solo es accesible 429 00:14:21,560 --> 00:14:22,320 Desde este bloque 430 00:14:22,320 --> 00:14:23,240 Y este bloque acabó 431 00:14:23,240 --> 00:14:25,280 Ese bloque acabó 432 00:14:25,280 --> 00:14:26,360 Con lo cual 433 00:14:26,360 --> 00:14:28,200 Desde aquí fuera imposible 434 00:14:28,200 --> 00:14:28,860 Acceder a c 435 00:14:28,860 --> 00:14:30,300 Aquí lo mismo 436 00:14:30,300 --> 00:14:31,160 Esta variable c 437 00:14:31,160 --> 00:14:32,560 Solo es visible 438 00:14:32,560 --> 00:14:33,379 Desde este bloque 439 00:14:33,379 --> 00:14:35,500 Dentro de él 440 00:14:35,500 --> 00:14:36,759 Y este bloque acabó 441 00:14:36,759 --> 00:14:37,680 Desde el momento 442 00:14:37,680 --> 00:14:38,660 En que este bloque acabó 443 00:14:38,660 --> 00:14:40,340 Todo lo que está declarado aquí 444 00:14:40,340 --> 00:14:41,340 Email c 445 00:14:41,340 --> 00:14:42,640 Aquí no existe 446 00:14:42,640 --> 00:14:44,040 Con lo cual 447 00:14:44,040 --> 00:14:45,440 No puedo poner aquí el c 448 00:14:45,440 --> 00:14:46,940 Porque el c está declarado aquí 449 00:14:46,940 --> 00:14:48,160 Y está declarado aquí 450 00:14:49,200 --> 00:14:50,560 ¿Cómo lo arreglo? 451 00:14:50,640 --> 00:14:51,420 ¿Vuelvo a meterlo adentro? 452 00:14:51,500 --> 00:14:51,860 Pues vaya 453 00:14:51,860 --> 00:14:54,180 No, ¿cómo lo podemos arreglar? 454 00:14:56,220 --> 00:14:58,200 Jolín, qué perra tenéis con los métodos 455 00:14:58,200 --> 00:15:00,340 Si el problema es 456 00:15:00,340 --> 00:15:02,060 Que al declararla dentro del bloque 457 00:15:02,060 --> 00:15:03,440 Solo es visible dentro del bloque 458 00:15:03,440 --> 00:15:04,660 Y yo quiero que sea visible fuera 459 00:15:04,660 --> 00:15:06,100 Pues la declaramos fuera 460 00:15:06,100 --> 00:15:08,000 La declaramos fuera 461 00:15:08,000 --> 00:15:09,360 Entonces esto 462 00:15:09,360 --> 00:15:10,500 Esto es el trabajo 463 00:15:10,500 --> 00:15:11,360 Todo el rato 464 00:15:11,360 --> 00:15:12,340 Todas estas cuestiones 465 00:15:12,340 --> 00:15:13,040 Que van surgiendo 466 00:15:13,040 --> 00:15:13,920 Que vamos resolviendo 467 00:15:13,920 --> 00:15:15,060 Este es el trabajo 468 00:15:15,060 --> 00:15:17,759 Claro, mi problema es 469 00:15:17,759 --> 00:15:18,180 Anda 470 00:15:18,180 --> 00:15:19,000 Pues oye 471 00:15:19,000 --> 00:15:19,320 No 472 00:15:19,320 --> 00:15:21,320 Las vamos a declarar 473 00:15:21,320 --> 00:15:21,860 Fuera 474 00:15:21,860 --> 00:15:23,159 ¿Vale? 475 00:15:23,340 --> 00:15:24,240 Las vamos a declarar 476 00:15:24,240 --> 00:15:24,659 Fuera 477 00:15:24,659 --> 00:15:33,139 ¿Vale? 478 00:15:39,500 --> 00:15:40,139 Vale 479 00:15:40,139 --> 00:15:46,919 Pero claro 480 00:15:46,919 --> 00:15:48,019 Al sacarla fuera 481 00:15:49,000 --> 00:15:51,840 ¿Cuál es el problema que nos aparece? 482 00:15:51,840 --> 00:15:55,240 Que aquí está declarada 483 00:15:55,240 --> 00:15:56,399 Como cliente tienda 484 00:15:56,399 --> 00:15:58,120 Y aquí está declarada 485 00:15:58,120 --> 00:15:59,200 Como cliente online 486 00:15:59,200 --> 00:16:02,940 Conclusión 487 00:16:02,940 --> 00:16:07,440 Aquí como la declaramos 488 00:16:07,440 --> 00:16:08,539 Como cliente tienda 489 00:16:08,539 --> 00:16:10,759 O como cliente online 490 00:16:10,759 --> 00:16:16,419 A ver, la puedo declarar como ambas 491 00:16:16,419 --> 00:16:17,000 Efectivamente 492 00:16:17,000 --> 00:16:17,620 O sea, dos 493 00:16:17,620 --> 00:16:18,379 ¿A qué te refieres? 494 00:16:18,720 --> 00:16:18,820 Sí 495 00:16:18,820 --> 00:16:19,180 Claro 496 00:16:19,180 --> 00:16:21,140 La tengo que declarar como dos 497 00:16:21,140 --> 00:16:22,660 Lo que pasa es que entonces 498 00:16:22,660 --> 00:16:23,680 Aquí efectivamente 499 00:16:23,680 --> 00:16:24,800 Esto lo tengo que destengar 500 00:16:24,800 --> 00:16:25,260 Con un if 501 00:16:25,260 --> 00:16:26,060 ¿Vale? 502 00:16:26,780 --> 00:16:28,379 Entonces aquí efectivamente 503 00:16:28,379 --> 00:16:29,879 Hasta que no aprendamos 504 00:16:29,879 --> 00:16:30,620 Un poquito más 505 00:16:30,620 --> 00:16:32,660 Aquí el problema es que 506 00:16:32,660 --> 00:16:33,040 Oye 507 00:16:33,040 --> 00:16:33,740 C 508 00:16:33,740 --> 00:16:35,000 ¿Qué es? 509 00:16:35,060 --> 00:16:36,920 ¿Cliente tienda o cliente online? 510 00:16:37,200 --> 00:16:37,820 Depende 511 00:16:37,820 --> 00:16:39,400 Depende de donde esté 512 00:16:39,400 --> 00:16:40,780 Depende de donde esté 513 00:16:40,780 --> 00:16:42,600 Entonces 514 00:16:42,600 --> 00:16:45,360 Vamos a declarar efectivamente 515 00:16:45,360 --> 00:16:46,680 Un cliente tienda 516 00:16:46,680 --> 00:16:48,660 Y vamos a declarar 517 00:16:48,820 --> 00:16:51,120 Un cliente online 518 00:16:51,120 --> 00:16:58,820 ¿Vale? 519 00:16:58,900 --> 00:17:00,260 Cliente tienda o cliente online 520 00:17:00,260 --> 00:17:00,940 Y ahora 521 00:17:00,940 --> 00:17:04,680 Este es cliente tienda 522 00:17:04,680 --> 00:17:09,600 Este es cliente tienda 523 00:17:09,600 --> 00:17:13,259 Esta de aquí 524 00:17:13,259 --> 00:17:16,259 Y este es cliente online 525 00:17:16,259 --> 00:17:17,740 Que ya le quito la declaración 526 00:17:17,740 --> 00:17:18,799 Este es cliente online 527 00:17:18,819 --> 00:17:19,899 Este es cliente online 528 00:17:19,899 --> 00:17:23,439 ¿Vale? 529 00:17:23,460 --> 00:17:24,220 Entonces tengo 530 00:17:24,220 --> 00:17:26,599 Un cliente tienda y un cliente online 531 00:17:26,599 --> 00:17:28,720 ¿Qué me han dicho cliente tienda? 532 00:17:28,839 --> 00:17:30,139 Construyo el cliente tienda 533 00:17:30,139 --> 00:17:31,779 Ya está, construido 534 00:17:31,779 --> 00:17:33,480 Construido 535 00:17:33,480 --> 00:17:35,059 ¿Qué me han dicho el cliente online? 536 00:17:35,939 --> 00:17:37,299 Construyo el cliente online 537 00:17:37,299 --> 00:17:38,279 Ya está, construido 538 00:17:38,279 --> 00:17:39,159 ¿Vale? 539 00:17:39,240 --> 00:17:40,500 Entonces o construyo el tienda 540 00:17:40,500 --> 00:17:41,379 O construyo el online 541 00:17:41,379 --> 00:17:42,419 Uno de los dos 542 00:17:42,419 --> 00:17:43,179 ¿Vale? 543 00:17:43,279 --> 00:17:44,099 Y ahora ya 544 00:17:44,099 --> 00:17:45,000 Ahora ya 545 00:17:45,000 --> 00:17:46,399 Y solo una vez 546 00:17:46,399 --> 00:17:47,599 Porque me da igual ir por el if 547 00:17:47,599 --> 00:17:48,079 Por el elif 548 00:17:48,079 --> 00:17:48,799 Que esto lo voy a hacer 549 00:17:48,799 --> 00:17:49,539 En ambos casos 550 00:17:49,539 --> 00:17:50,139 Y ahora ya 551 00:17:50,139 --> 00:17:51,279 Hago el array 552 00:17:51,279 --> 00:17:52,039 Lo amplio 553 00:17:52,039 --> 00:17:54,159 ¿Y qué meto en la posición adicional? 554 00:17:54,519 --> 00:17:55,319 CO o CT 555 00:17:55,319 --> 00:17:56,119 Pues depende 556 00:17:56,119 --> 00:17:57,460 Depende de si el tipo es uno 557 00:17:57,460 --> 00:17:58,139 O es otro 558 00:17:58,139 --> 00:17:59,180 ¿Vale? 559 00:17:59,240 --> 00:18:00,299 Entonces ¿Qué metemos aquí? 560 00:18:00,940 --> 00:18:01,759 Pues aquí depende 561 00:18:01,759 --> 00:18:04,099 Aquí simplemente hacemos 562 00:18:04,099 --> 00:18:06,759 Si tipo es igual a uno 563 00:18:06,759 --> 00:18:11,200 Entonces meto cliente tienda 564 00:18:11,200 --> 00:18:12,419 Y si no 565 00:18:12,419 --> 00:18:14,319 Meto cliente online 566 00:18:14,319 --> 00:18:15,379 Y listo 567 00:18:15,379 --> 00:18:16,119 ¿Vale? 568 00:18:17,339 --> 00:18:17,659 Eh 569 00:18:17,659 --> 00:18:17,759 Eh 570 00:18:18,799 --> 00:18:22,000 Ahora el rojo 571 00:18:22,000 --> 00:18:23,319 Ahora os pregunto por qué sale 572 00:18:23,319 --> 00:18:23,980 Pero primero vamos a entender 573 00:18:23,980 --> 00:18:24,619 Lo que hemos hecho 574 00:18:24,619 --> 00:18:33,779 ¿Vale? 575 00:18:33,879 --> 00:18:34,720 Bueno, más o menos 576 00:18:34,720 --> 00:18:36,180 Entonces ahora la estructura 577 00:18:36,180 --> 00:18:36,879 Nos ha quedado 578 00:18:36,879 --> 00:18:39,519 Yo tengo mis dos posibles objetos 579 00:18:39,519 --> 00:18:40,619 El de tienda online 580 00:18:40,619 --> 00:18:43,159 Si el cliente de selección o tienda 581 00:18:43,159 --> 00:18:44,819 Construyo el de tienda 582 00:18:44,819 --> 00:18:47,259 Pero si el cliente seleccionó online 583 00:18:47,259 --> 00:18:48,599 Construyo el de online 584 00:18:48,599 --> 00:18:48,779 ¿Vale? 585 00:18:48,799 --> 00:18:50,359 Construyo el de online 586 00:18:50,359 --> 00:18:51,619 Depende el que haya seleccionado 587 00:18:51,619 --> 00:18:53,299 Lo construyo 588 00:18:53,299 --> 00:18:54,279 Y ahora ya 589 00:18:54,279 --> 00:18:55,639 Me da igual cual he construido 590 00:18:55,639 --> 00:18:56,539 Ya lo que me falta 591 00:18:56,539 --> 00:18:57,279 En ambas ramas 592 00:18:57,279 --> 00:18:58,519 Lo que me falta ya es esto 593 00:18:58,519 --> 00:18:59,759 Que es meterlo en el array 594 00:18:59,759 --> 00:19:01,599 ¿Vale? 595 00:19:01,980 --> 00:19:02,879 Pues para meter el array 596 00:19:02,879 --> 00:19:03,460 Lo de siempre 597 00:19:03,460 --> 00:19:04,379 Lo único es que 598 00:19:04,379 --> 00:19:05,779 ¿Cuál meto en la adicional? 599 00:19:06,519 --> 00:19:07,200 Este o este 600 00:19:07,200 --> 00:19:07,720 No lo sé 601 00:19:07,720 --> 00:19:08,980 Depende de la condición 602 00:19:08,980 --> 00:19:09,799 Este o este 603 00:19:09,799 --> 00:19:10,339 No lo sé 604 00:19:10,339 --> 00:19:11,460 ¿Vale? 605 00:19:11,500 --> 00:19:12,599 Pero esa sentencia está bien 606 00:19:12,599 --> 00:19:15,019 Si el tipo era uno 607 00:19:15,019 --> 00:19:16,119 Tendré que meter el CT 608 00:19:16,119 --> 00:19:17,480 Que es el que habré construido en el if 609 00:19:17,480 --> 00:19:18,779 Y si el tipo es dos 610 00:19:18,799 --> 00:19:19,879 Tendré que meter el CO 611 00:19:19,879 --> 00:19:21,139 Que es el que construyo en el else 612 00:19:21,139 --> 00:19:22,299 ¿Vale? 613 00:19:22,720 --> 00:19:23,539 Tiene sentido 614 00:19:23,539 --> 00:19:24,879 Y el método estaría muy bien 615 00:19:24,879 --> 00:19:26,639 Y ya he hecho añadir cliente 616 00:19:26,639 --> 00:19:27,759 En el array que me han pasado 617 00:19:27,759 --> 00:19:28,799 Como parámetro, etc. 618 00:19:29,960 --> 00:19:30,859 Y ahora 619 00:19:30,859 --> 00:19:33,419 Antes de poner la manita 620 00:19:33,419 --> 00:19:36,559 Yo os preguntaría 621 00:19:36,559 --> 00:19:41,940 ¿Por qué tampoco le gusta el compilador? 622 00:19:42,319 --> 00:19:43,379 Que es tan pesidero 623 00:19:43,379 --> 00:19:44,480 ¿Por qué creéis? 624 00:19:48,799 --> 00:19:50,879 Claro, nosotros sabemos 625 00:19:50,879 --> 00:19:51,680 Porque nosotros conocemos 626 00:19:51,680 --> 00:19:53,200 El funcionamiento de nuestro programa 627 00:19:53,200 --> 00:19:55,119 Que si tipo es igual a uno 628 00:19:55,119 --> 00:19:56,379 Sabemos 629 00:19:56,379 --> 00:19:58,579 Que habrá entrado aquí 630 00:19:58,579 --> 00:19:59,659 Habrá hecho el CT 631 00:19:59,659 --> 00:20:01,019 Con lo cual CT tendrá algo 632 00:20:01,019 --> 00:20:03,139 Y también sabemos 633 00:20:03,139 --> 00:20:04,680 Que si tipo es igual a dos 634 00:20:04,680 --> 00:20:05,980 Habrá entrado aquí 635 00:20:05,980 --> 00:20:06,940 Y el CO tendrá algo 636 00:20:06,940 --> 00:20:08,500 Pero el compilador no mira 637 00:20:08,500 --> 00:20:09,519 Contenidos de variables 638 00:20:09,519 --> 00:20:10,740 El compilador mira 639 00:20:10,740 --> 00:20:12,079 Las combinaciones que hay 640 00:20:12,079 --> 00:20:12,779 De if y de while 641 00:20:12,779 --> 00:20:13,339 Y él dice 642 00:20:13,339 --> 00:20:14,259 A ver 643 00:20:14,259 --> 00:20:15,200 CT 644 00:20:15,200 --> 00:20:17,659 Solo va a tener algo 645 00:20:17,659 --> 00:20:18,599 Si has entrado en el if 646 00:20:18,600 --> 00:20:20,740 ¿Yo cómo sé que has entrado en el if? 647 00:20:20,740 --> 00:20:22,240 Yo no me pongo a mirar 648 00:20:22,240 --> 00:20:23,660 En condiciones on true o false 649 00:20:23,660 --> 00:20:24,460 Eso ya dependerá 650 00:20:24,460 --> 00:20:25,660 De la ejecución concreta 651 00:20:25,660 --> 00:20:27,000 Yo solo sé 652 00:20:27,000 --> 00:20:28,780 Que la existencia de CT 653 00:20:28,780 --> 00:20:31,100 Es condicional 654 00:20:31,100 --> 00:20:32,640 No puedes 655 00:20:32,640 --> 00:20:33,880 No tengo la garantía 656 00:20:33,880 --> 00:20:35,320 De que CT siempre tenga un valor 657 00:20:35,320 --> 00:20:37,740 Y ahora estás tratando 658 00:20:37,740 --> 00:20:38,980 De usarla en una asignación 659 00:20:38,980 --> 00:20:40,760 Y eso no le gusta 660 00:20:40,760 --> 00:20:41,740 El compilador 661 00:20:42,260 --> 00:20:43,440 Cuando usamos una variable 662 00:20:43,440 --> 00:20:44,560 Para asignarla a algo 663 00:20:44,560 --> 00:20:45,000 Dice 664 00:20:45,000 --> 00:20:45,420 Oye 665 00:20:45,420 --> 00:20:46,800 Esto está en un if 666 00:20:46,800 --> 00:20:48,440 ¿Cómo sé yo? 667 00:20:48,600 --> 00:20:50,780 Que has entrado en ese if 668 00:20:50,780 --> 00:20:51,900 Y que esa variable tiene algo 669 00:20:51,900 --> 00:20:52,680 ¿Cómo lo puedo saber? 670 00:20:53,240 --> 00:20:54,780 Porque no mira condiciones 671 00:20:54,780 --> 00:20:56,460 Porque dependen de la ejecución 672 00:20:56,460 --> 00:20:57,880 ¿Cómo lo puedo saber? 673 00:20:58,040 --> 00:20:58,540 Entonces te dice 674 00:20:58,540 --> 00:20:58,720 No 675 00:20:58,720 --> 00:21:00,660 Para ahorrarnos problemas 676 00:21:00,660 --> 00:21:02,080 No te dejo 677 00:21:02,080 --> 00:21:03,020 Que en una asignación 678 00:21:03,020 --> 00:21:04,120 Uses una variable 679 00:21:04,120 --> 00:21:06,260 Que podría no tener nada 680 00:21:06,260 --> 00:21:07,440 Podría no tenerlo 681 00:21:07,440 --> 00:21:08,520 Si tú no has entrado en el if 682 00:21:08,520 --> 00:21:09,260 Podría 683 00:21:09,260 --> 00:21:10,520 Bueno 684 00:21:10,520 --> 00:21:11,720 Pues se soluciona muy fácil 685 00:21:11,720 --> 00:21:12,760 Tranquilo 686 00:21:12,760 --> 00:21:13,480 No pasa nada 687 00:21:13,480 --> 00:21:14,460 Yo cuando declaro 688 00:21:14,460 --> 00:21:15,520 Te lo inicializo un valor 689 00:21:15,520 --> 00:21:16,160 A cualquiera 690 00:21:16,160 --> 00:21:16,820 Me da lo mismo 691 00:21:16,820 --> 00:21:17,860 Porque es que luego yo sé 692 00:21:17,860 --> 00:21:18,580 Que vas a entrar en el if 693 00:21:18,600 --> 00:21:20,640 Y se va a dar un valor 694 00:21:20,640 --> 00:21:21,100 Etcétera 695 00:21:21,100 --> 00:21:22,280 Vale 696 00:21:22,280 --> 00:21:23,420 Pues cuál es el valor 697 00:21:23,420 --> 00:21:24,800 Que usamos para inicializar 698 00:21:24,800 --> 00:21:25,940 A lo que sea 699 00:21:25,940 --> 00:21:26,900 Un objeto 700 00:21:26,900 --> 00:21:27,980 El null 701 00:21:27,980 --> 00:21:28,700 Pues ya está 702 00:21:28,700 --> 00:21:32,480 Como si ponéis 703 00:21:32,480 --> 00:21:33,540 Un new cliente 704 00:21:33,540 --> 00:21:34,300 Tienda vacío 705 00:21:34,300 --> 00:21:35,360 Pero lo más bonito 706 00:21:35,360 --> 00:21:35,880 Y lo normal 707 00:21:35,880 --> 00:21:36,900 Es inicializarlo a null 708 00:21:36,900 --> 00:21:41,740 ¿Vale? 709 00:21:48,600 --> 00:21:51,860 Pues entonces 710 00:21:51,860 --> 00:21:52,700 Nuestro método 711 00:21:52,700 --> 00:21:53,500 En principio 712 00:21:53,500 --> 00:21:54,540 Ya está completo 713 00:21:54,540 --> 00:21:56,140 Y menos mal 714 00:21:56,140 --> 00:21:57,180 Que hemos hecho un método aparte 715 00:21:57,180 --> 00:21:58,000 Porque hacer esto 716 00:21:58,000 --> 00:21:59,180 En el switch case 717 00:21:59,180 --> 00:22:00,420 ¿Vale? 718 00:22:00,600 --> 00:22:01,080 Entonces 719 00:22:01,080 --> 00:22:02,420 Haz cliente 720 00:22:02,420 --> 00:22:03,640 Le pasamos la cajita 721 00:22:03,640 --> 00:22:04,740 Para meter los clientes 722 00:22:04,740 --> 00:22:05,440 Se la pasamos 723 00:22:05,440 --> 00:22:06,580 ¿Qué hace? 724 00:22:06,680 --> 00:22:08,060 Te pide el tipo de cliente 725 00:22:08,060 --> 00:22:10,760 Te pide los datos comunes 726 00:22:10,760 --> 00:22:11,860 Luego 727 00:22:11,860 --> 00:22:13,160 Prepara un objeto 728 00:22:13,160 --> 00:22:14,780 Para meter el cliente 729 00:22:14,780 --> 00:22:15,700 El online o tienda 730 00:22:15,700 --> 00:22:16,660 Depende del que tú quieras 731 00:22:16,660 --> 00:22:17,540 Lo deja ahí preparado 732 00:22:17,540 --> 00:22:18,580 Lo deja ahí preparado 733 00:22:18,600 --> 00:22:19,620 Ahora 734 00:22:19,620 --> 00:22:20,720 Que el tipo es igual a 1 735 00:22:20,720 --> 00:22:22,560 Pido el dato adicional 736 00:22:22,560 --> 00:22:24,740 Y construyo a este 737 00:22:24,740 --> 00:22:26,340 Adiós 738 00:22:26,340 --> 00:22:27,680 Que no es igual a 1 739 00:22:27,680 --> 00:22:29,560 Pido el dato adicional 740 00:22:29,560 --> 00:22:30,900 Y construyo el otro 741 00:22:30,900 --> 00:22:32,180 Y ahora 742 00:22:32,180 --> 00:22:34,780 Si el tipo era igual a 1 743 00:22:34,780 --> 00:22:36,820 Asigna ct 744 00:22:36,820 --> 00:22:37,960 A la posición adicional 745 00:22:37,960 --> 00:22:39,040 Y si no 746 00:22:39,040 --> 00:22:39,800 Asigna ceo 747 00:22:39,800 --> 00:22:41,840 ¿Vale? 748 00:22:41,860 --> 00:22:42,300 En principio 749 00:22:42,300 --> 00:22:42,920 El método 750 00:22:42,920 --> 00:22:45,280 Hasta donde yo sé 751 00:22:45,280 --> 00:22:46,180 Ya está 752 00:22:46,180 --> 00:22:46,880 ¿Vale? 753 00:22:47,220 --> 00:22:48,260 Quito esto de aquí 754 00:22:48,260 --> 00:22:48,580 Y ya está 755 00:22:48,600 --> 00:22:52,900 Pero me está dando 756 00:22:52,900 --> 00:22:53,280 En el momento 757 00:22:53,280 --> 00:22:54,360 Para ejecutarlo 758 00:22:54,360 --> 00:22:55,600 O en el compilador 759 00:22:55,600 --> 00:23:01,000 Pero que error te da 760 00:23:01,000 --> 00:23:01,660 De compilación 761 00:23:01,660 --> 00:23:02,880 ¿Qué te dice? 762 00:23:13,180 --> 00:23:13,940 ¿Se lo has pasado 763 00:23:13,940 --> 00:23:14,560 Como parámetro? 764 00:23:18,600 --> 00:23:22,740 Vale 765 00:23:22,740 --> 00:23:26,600 Bueno pues ya está 766 00:23:26,600 --> 00:23:27,880 Este método 767 00:23:27,880 --> 00:23:28,640 Mete un cliente 768 00:23:28,640 --> 00:23:30,440 Independientemente del tipo que sea 769 00:23:30,440 --> 00:23:31,800 Pues ya 770 00:23:31,800 --> 00:23:32,780 Nuestro main 771 00:23:32,780 --> 00:23:34,060 Pasará a la cajita 772 00:23:34,060 --> 00:23:35,300 Y meterá al cliente 773 00:23:35,300 --> 00:23:35,620 Vale 774 00:23:35,620 --> 00:23:38,340 Entonces 775 00:23:38,340 --> 00:23:40,080 Esta aplicación 776 00:23:40,080 --> 00:23:40,940 La estamos haciendo 777 00:23:40,940 --> 00:23:42,780 En lugar de como la anterior 778 00:23:42,780 --> 00:23:43,480 Que la anterior 779 00:23:43,480 --> 00:23:44,500 La estábamos haciendo 780 00:23:44,500 --> 00:23:45,720 Hacer 781 00:23:45,720 --> 00:23:47,060 Bueno es que yo aquí 782 00:23:47,060 --> 00:23:47,500 La tengo 783 00:23:47,500 --> 00:23:48,580 La tengo a medio tiempo 784 00:23:48,600 --> 00:23:49,980 Hacer un array de 100 785 00:23:49,980 --> 00:23:51,380 Y luego una variable posición 786 00:23:51,380 --> 00:23:53,000 Y rellenando 787 00:23:53,000 --> 00:23:54,600 Pues esta ya es más bonita 788 00:23:54,600 --> 00:23:56,520 Esta nueva que estamos haciendo 789 00:23:56,520 --> 00:23:57,920 Es un array 790 00:23:57,920 --> 00:24:00,860 Esto no es 791 00:24:00,860 --> 00:24:02,400 Esta nueva que estamos haciendo 792 00:24:02,400 --> 00:24:04,620 Es un array que se va estirando 793 00:24:04,620 --> 00:24:06,020 Inicialmente tiene cero clientes 794 00:24:06,020 --> 00:24:06,760 Inicialmente tiene cero 795 00:24:06,760 --> 00:24:08,680 Y luego ya vamos metiendo en él 796 00:24:08,680 --> 00:24:09,840 Con lo cual esta variable post 797 00:24:09,840 --> 00:24:10,360 Nos sobra 798 00:24:10,360 --> 00:24:11,440 Esta que yo he puesto aquí 799 00:24:11,440 --> 00:24:13,060 Con esta opción nos sobra 800 00:24:13,060 --> 00:24:14,340 Vale 801 00:24:14,340 --> 00:24:16,280 Insertar cliente 802 00:24:16,280 --> 00:24:16,520 Bueno 803 00:24:16,520 --> 00:24:18,580 Hasta ahí 804 00:24:18,579 --> 00:24:18,919 Vale 805 00:24:18,919 --> 00:24:21,460 Entonces ahora vamos a 806 00:24:21,460 --> 00:24:26,439 A meter una segunda funcionalidad 807 00:24:26,439 --> 00:24:29,299 A nuestro 808 00:24:29,299 --> 00:24:31,939 A nuestra 809 00:24:31,939 --> 00:24:33,679 A nuestra aplicación de gestión 810 00:24:33,679 --> 00:24:35,019 Que es 811 00:24:35,019 --> 00:24:36,579 Enviar pedido a un cliente 812 00:24:37,399 --> 00:24:38,740 Dado su NIF 813 00:24:38,740 --> 00:24:39,359 Vale 814 00:24:39,359 --> 00:24:47,960 Vale 815 00:24:47,960 --> 00:24:48,419 Vamos a meter 816 00:24:48,420 --> 00:24:49,539 Una segunda funcionalidad 817 00:24:49,539 --> 00:24:49,940 Que es 818 00:24:49,940 --> 00:24:50,880 Oye 819 00:24:50,880 --> 00:24:52,560 Yo te doy el NIF 820 00:24:52,560 --> 00:24:54,100 De un cliente 821 00:24:54,100 --> 00:24:55,360 Y 822 00:24:55,360 --> 00:24:57,720 Tienes que enviarle el pedido 823 00:24:57,720 --> 00:25:00,279 Por email 824 00:25:00,279 --> 00:25:01,400 Por dirección 825 00:25:01,400 --> 00:25:02,320 Pues yo que sé 826 00:25:02,320 --> 00:25:02,759 Como sea 827 00:25:02,759 --> 00:25:03,539 Ambos tienen la opción 828 00:25:03,539 --> 00:25:04,300 De enviar pedido 829 00:25:04,300 --> 00:25:04,620 ¿Verdad? 830 00:25:05,440 --> 00:25:06,940 Enviar pedido en cliente tienda 831 00:25:06,940 --> 00:25:07,820 Funciona de una manera 832 00:25:07,820 --> 00:25:09,279 Y en cliente online 833 00:25:09,279 --> 00:25:09,920 Funciona de otra 834 00:25:09,920 --> 00:25:11,120 Pero ambos tienen su método 835 00:25:11,120 --> 00:25:11,820 Enviar pedido 836 00:25:11,820 --> 00:25:12,820 Porque lo hemos hecho 837 00:25:12,820 --> 00:25:13,740 ¿Verdad? 838 00:25:14,560 --> 00:25:15,060 Bueno 839 00:25:15,060 --> 00:25:16,380 Vamos a incorporar esa funcionalidad 840 00:25:16,380 --> 00:25:17,279 Yo te doy un NIF 841 00:25:17,279 --> 00:25:18,400 Y me busco 842 00:25:18,420 --> 00:25:19,580 Pues venga 843 00:25:19,580 --> 00:25:21,259 Vamos a hacer el caso 2 844 00:25:21,259 --> 00:25:27,720 Vale 845 00:25:27,720 --> 00:25:29,200 Pues vamos a hacerlo también 846 00:25:29,200 --> 00:25:30,580 A través de un método auxiliar 847 00:25:30,580 --> 00:25:33,600 Operaciones 848 00:25:33,600 --> 00:25:36,840 Donde le vamos a llamar 849 00:25:36,840 --> 00:25:43,220 Enviar pedido 850 00:25:43,220 --> 00:25:45,240 Tendrá que solicitar un NIF 851 00:25:45,240 --> 00:25:47,420 Recorrer el array de clientes 852 00:25:48,420 --> 00:25:49,300 Entonces 853 00:25:49,300 --> 00:25:53,680 Vamos a dejar ahora vacío 854 00:25:53,680 --> 00:25:55,279 Que le vamos a pasar a este parámetro 855 00:25:55,279 --> 00:25:56,519 Hasta que luego lo decidamos 856 00:25:56,519 --> 00:25:58,620 Entonces vamos a 857 00:25:58,620 --> 00:26:00,259 Construir 858 00:26:00,259 --> 00:26:01,539 Bueno 859 00:26:01,539 --> 00:26:03,279 Si lo pedimos dentro de enviar pedido 860 00:26:03,279 --> 00:26:03,460 No 861 00:26:03,460 --> 00:26:04,180 Hay dos opciones 862 00:26:04,180 --> 00:26:05,000 Que lo pidamos aquí 863 00:26:05,000 --> 00:26:05,740 Introduzca el NIF 864 00:26:05,740 --> 00:26:06,640 Y luego se lo pasemos 865 00:26:06,640 --> 00:26:08,519 O que dentro del propio enviar pedido 866 00:26:08,519 --> 00:26:08,860 Hagamos 867 00:26:08,860 --> 00:26:09,580 Introduzca NIF 868 00:26:09,580 --> 00:26:10,500 Entonces no haría falta 869 00:26:10,500 --> 00:26:12,519 Depende de la opción que tomamos 870 00:26:12,519 --> 00:26:12,759 ¿Vale? 871 00:26:12,759 --> 00:26:13,240 Vamos a suponer 872 00:26:13,240 --> 00:26:14,759 Para que esto nos quede más cortito 873 00:26:14,759 --> 00:26:17,840 Que nuestro método enviar pedido 874 00:26:17,840 --> 00:26:18,400 Este de aquí 875 00:26:18,420 --> 00:26:19,140 Public 876 00:26:19,140 --> 00:26:20,900 Static 877 00:26:20,900 --> 00:26:22,660 Void 878 00:26:22,660 --> 00:26:23,940 Enviar pedido 879 00:26:23,940 --> 00:26:26,420 Este dentro de aquí 880 00:26:26,420 --> 00:26:31,279 Pues este ya va a solicitar el NIF 881 00:26:31,279 --> 00:26:31,720 Va a decir 882 00:26:31,720 --> 00:26:32,720 Introduzca NIF 883 00:26:32,720 --> 00:26:34,039 Lo lee él y todo eso 884 00:26:34,039 --> 00:26:39,320 Introduzca NIF del cliente 885 00:26:39,320 --> 00:26:41,360 Al que va a enviar el pedido 886 00:26:41,360 --> 00:26:43,340 Pues nada 887 00:26:43,340 --> 00:26:44,320 Leería el NIF 888 00:26:44,320 --> 00:26:46,000 Entonces no hay que pasárselo por parámetro 889 00:26:46,000 --> 00:26:47,200 Porque lo lee él dentro 890 00:26:48,420 --> 00:26:55,120 Leer NIF que es cadena 891 00:26:55,120 --> 00:26:56,940 Vale 892 00:26:56,940 --> 00:26:57,560 Pero claro 893 00:26:57,560 --> 00:26:59,920 Ahora que tiene que hacer este método 894 00:26:59,920 --> 00:27:01,840 Tiene que ponerse a recorrer 895 00:27:01,840 --> 00:27:03,420 El array de clientes 896 00:27:03,420 --> 00:27:05,259 Hasta encontrar el cliente con ese NIF 897 00:27:05,259 --> 00:27:06,900 Y cuando lo ha encontrado 898 00:27:06,900 --> 00:27:09,340 Llamar al método enviar pedido de ese cliente 899 00:27:09,340 --> 00:27:12,620 Porque recordad que el cliente 900 00:27:12,620 --> 00:27:14,380 Tanto si es de tienda 901 00:27:14,380 --> 00:27:15,960 Como si es online 902 00:27:15,960 --> 00:27:18,060 Tiene su método enviar pedido 903 00:27:18,059 --> 00:27:19,559 Que hemos hecho para enviarle su pedido 904 00:27:19,559 --> 00:27:20,779 Ambos tienen esa opción 905 00:27:20,779 --> 00:27:23,859 Bueno pues este método entonces 906 00:27:23,859 --> 00:27:25,559 Ahora tendrá que buscar el array 907 00:27:25,559 --> 00:27:26,659 Nuevo 908 00:27:26,659 --> 00:27:29,859 Que necesita que se le pase por parámetro 909 00:27:29,859 --> 00:27:32,639 El array 910 00:27:32,639 --> 00:27:33,339 No el NIF 911 00:27:33,339 --> 00:27:37,139 Si lo siguiente que tiene que hacer 912 00:27:37,139 --> 00:27:38,259 Es buscar 913 00:27:38,259 --> 00:27:40,519 En el array de clientes 914 00:27:40,519 --> 00:27:43,099 Estamos en la misma situación de arriba 915 00:27:43,099 --> 00:27:44,940 Como 916 00:27:44,940 --> 00:27:46,460 ¿Eh? 917 00:27:46,460 --> 00:27:47,419 La de 918 00:27:47,419 --> 00:27:47,899 ¿Eh? 919 00:27:48,059 --> 00:27:51,039 O sea que se lo tendremos que pasar por parámetro 920 00:27:51,039 --> 00:27:52,019 Pues eso 921 00:27:52,019 --> 00:27:53,059 La misma situación 922 00:27:53,059 --> 00:27:53,379 Entonces 923 00:27:53,379 --> 00:27:54,700 ¿Qué es lo que nos falta? 924 00:27:55,220 --> 00:27:56,240 ¿Qué necesita este método? 925 00:27:56,299 --> 00:27:57,779 El NIF no porque lo lee desde dentro 926 00:27:57,779 --> 00:28:00,339 Pero la caja de clientes para buscar 927 00:28:00,339 --> 00:28:01,460 La necesita ¿no? 928 00:28:01,839 --> 00:28:02,919 Yo no puedo buscar un cliente 929 00:28:02,919 --> 00:28:03,779 En una caja que tengo fuera 930 00:28:03,779 --> 00:28:04,940 Me tendrán que meter la caja 931 00:28:04,940 --> 00:28:05,879 Yo ya busco el cliente 932 00:28:05,879 --> 00:28:06,599 Y te hago lo que sea 933 00:28:06,599 --> 00:28:07,819 Pero si no me la das 934 00:28:07,819 --> 00:28:09,139 Pues lo mismo 935 00:28:09,139 --> 00:28:13,240 Claro porque no tiene acceso a esa variable 936 00:28:13,240 --> 00:28:15,220 Esa variable es una variable local de otro método 937 00:28:15,220 --> 00:28:17,299 Entonces no puedes acceder a una variable local de otro método 938 00:28:17,299 --> 00:28:17,579 Entonces no puedes acceder a una variable local de otro método 939 00:28:17,579 --> 00:28:17,659 Entonces no puedes acceder a una variable local de otro método 940 00:28:17,660 --> 00:28:18,620 Entonces si 941 00:28:18,620 --> 00:28:20,040 Se la tienes que pasar 942 00:28:20,040 --> 00:28:21,560 Si no se la pasas 943 00:28:21,560 --> 00:28:27,820 Vale pues entonces le tendremos que pasar la cajita 944 00:28:27,820 --> 00:28:29,779 Se la tendremos que pasar 945 00:28:29,779 --> 00:28:31,660 Y ahora ya aquí buscará 946 00:28:32,380 --> 00:28:45,680 Vale ahora ya 947 00:28:47,660 --> 00:28:49,800 Ahora ya podemos buscar el array 948 00:28:49,800 --> 00:28:51,500 Porque el array nos lo han pasado 949 00:28:51,500 --> 00:28:52,860 Nos lo han pasado por aquí 950 00:28:52,860 --> 00:28:54,880 Y ahora ya nuestro main 951 00:28:54,880 --> 00:28:56,620 Lo pasará por aquí 952 00:28:56,620 --> 00:28:57,980 Clientes 953 00:28:57,980 --> 00:29:02,740 Vale 954 00:29:02,740 --> 00:29:05,740 Y a nosotros ya pues muy chulos 955 00:29:05,740 --> 00:29:06,960 Pues hacemos venga 956 00:29:06,960 --> 00:29:09,500 Si clientes de i 957 00:29:09,500 --> 00:29:13,040 Si clientes de i.getNIF 958 00:29:13,040 --> 00:29:13,580 Si clientes de i.getNIF 959 00:29:13,580 --> 00:29:13,600 Si clientes de i.getNIF 960 00:29:13,600 --> 00:29:13,620 Si clientes de i.getNIF 961 00:29:13,620 --> 00:29:15,620 Si clientes de i.getNIF 962 00:29:15,620 --> 00:29:17,640 Si clientes de i.getNIF 963 00:29:17,660 --> 00:29:21,200 El NIF que acabo de leer 964 00:29:21,200 --> 00:29:22,860 El NIF que acabo de leer 965 00:29:22,860 --> 00:29:26,040 Estupendo ya hemos encontrado el cliente 966 00:29:26,040 --> 00:29:28,240 Para el cual hay que enviar el pedido 967 00:29:28,240 --> 00:29:29,779 Entonces yo me hago clientes de i 968 00:29:29,779 --> 00:29:32,800 E intento darle al método 969 00:29:32,800 --> 00:29:33,960 Enviar pedido 970 00:29:33,960 --> 00:29:39,200 No porque hemos dicho 971 00:29:39,200 --> 00:29:40,600 Este array tiene objetos 972 00:29:40,600 --> 00:29:42,560 Cliente tienda cliente online 973 00:29:42,560 --> 00:29:43,720 Del tipo que sea 974 00:29:43,720 --> 00:29:45,700 Me caben los dos en el array 975 00:29:45,700 --> 00:29:47,519 Porque hemos dicho que es un array de la clase 976 00:29:47,519 --> 00:29:48,039 Cliente 977 00:29:48,039 --> 00:29:50,299 Con lo cual le caben objetos 978 00:29:50,299 --> 00:29:52,259 De cualquiera de las subclases 979 00:29:52,259 --> 00:29:54,319 Bueno pues entonces 980 00:29:54,319 --> 00:29:56,740 Yo no sé que tiene este array 981 00:29:56,740 --> 00:29:57,799 Pero sé que tiene 982 00:29:57,799 --> 00:29:59,879 Clientes tienda clientes online 983 00:29:59,879 --> 00:30:00,819 Sé que los tiene 984 00:30:00,819 --> 00:30:03,160 Y cliente tienda tiene enviar pedido 985 00:30:03,160 --> 00:30:04,139 Que se lo acabo de ver aquí 986 00:30:04,139 --> 00:30:07,200 Y cliente online tiene enviar pedido 987 00:30:07,200 --> 00:30:08,519 Ambos lo tienen 988 00:30:08,519 --> 00:30:10,980 Claro entonces 989 00:30:10,980 --> 00:30:14,519 Entonces este objeto me está diciendo 990 00:30:14,519 --> 00:30:17,019 Lo siento 991 00:30:17,019 --> 00:30:17,940 Enviar pedido no existe 992 00:30:17,940 --> 00:30:18,779 Es lo que nos está diciendo 993 00:30:18,779 --> 00:30:20,660 Enviar pedido no existe 994 00:30:20,660 --> 00:30:22,000 Vale 995 00:30:22,000 --> 00:30:23,599 Entonces esto diríamos 996 00:30:23,599 --> 00:30:24,799 Jolín pero que absurdo 997 00:30:24,799 --> 00:30:27,799 Claro que el objeto este lo tiene 998 00:30:27,799 --> 00:30:29,039 Por supuesto que lo tiene 999 00:30:29,039 --> 00:30:31,079 Porque este objeto no hay tu tía 1000 00:30:31,079 --> 00:30:34,400 O es cliente tienda o es cliente online 1001 00:30:34,400 --> 00:30:35,700 Yo sé que lo tiene 1002 00:30:35,700 --> 00:30:36,799 Yo sé que lo tiene 1003 00:30:36,799 --> 00:30:38,420 Claro tú lo sabes 1004 00:30:38,420 --> 00:30:40,240 Pero el compilador no 1005 00:30:40,240 --> 00:30:42,700 Que fastidia 1006 00:30:42,700 --> 00:30:45,519 El compilador dice yo no sé que has metido tú ahí 1007 00:30:45,519 --> 00:30:46,779 Pero yo sé 1008 00:30:47,019 --> 00:30:48,639 Que este array clientes 1009 00:30:48,639 --> 00:30:50,700 Es de la clase cliente 1010 00:30:50,700 --> 00:30:52,379 Y eso significa 1011 00:30:52,379 --> 00:30:55,079 Que cualquiera que herede de cliente 1012 00:30:55,079 --> 00:30:57,200 Puede llamar al método 1013 00:30:57,200 --> 00:30:59,779 Cliente tienda por supuesto 1014 00:30:59,779 --> 00:31:00,940 Cliente online por supuesto 1015 00:31:00,940 --> 00:31:02,160 Pero cualquier otro 1016 00:31:02,160 --> 00:31:05,460 Y como tengo yo la garantía de que ese cualquier otro 1017 00:31:05,460 --> 00:31:06,519 Tenga un método de enviar pedido 1018 00:31:06,519 --> 00:31:07,019 No la tengo 1019 00:31:07,019 --> 00:31:09,259 Entonces lo que te dice es 1020 00:31:09,259 --> 00:31:09,980 Oye ojo 1021 00:31:09,980 --> 00:31:12,700 Si tú te haces un array de la clase cliente 1022 00:31:12,700 --> 00:31:15,339 El método al que llames 1023 00:31:15,339 --> 00:31:16,900 Que esté declarado en la clase cliente 1024 00:31:16,900 --> 00:31:21,140 No solo en las subclases 1025 00:31:21,140 --> 00:31:23,180 También en la superclase 1026 00:31:23,180 --> 00:31:24,740 Porque qué pasa 1027 00:31:24,740 --> 00:31:27,000 Si luego yo le hago un parche a la aplicación 1028 00:31:27,000 --> 00:31:29,420 Y me hago un cliente 1029 00:31:29,420 --> 00:31:30,480 No sé qué 1030 00:31:30,480 --> 00:31:32,920 Y ese cliente no sé qué no tiene enviar pedido 1031 00:31:32,920 --> 00:31:35,840 Pues he quitado la coherencia de la aplicación 1032 00:31:35,840 --> 00:31:37,240 Porque ese cliente no sé qué 1033 00:31:37,240 --> 00:31:39,060 Podría caer en el array perfectamente 1034 00:31:39,060 --> 00:31:40,120 Porque es una subclase 1035 00:31:40,120 --> 00:31:40,820 Podría caer 1036 00:31:40,820 --> 00:31:42,280 Pero ese no tiene enviar pedido 1037 00:31:42,280 --> 00:31:45,519 Entonces la obligación que tenemos 1038 00:31:45,519 --> 00:31:46,880 Ahora es que 1039 00:31:46,900 --> 00:31:47,480 Ahora es 1040 00:31:47,480 --> 00:31:49,940 Oye si tú quieres llamar a un método 1041 00:31:49,940 --> 00:31:51,120 Enviar pedido 1042 00:31:51,120 --> 00:31:54,040 Y teniendo en cuenta que este array 1043 00:31:54,040 --> 00:31:57,000 Está declarado de clase cliente 1044 00:31:57,000 --> 00:32:00,080 Ese método tiene que estar en la clase cliente 1045 00:32:00,080 --> 00:32:00,980 Lo siento 1046 00:32:00,980 --> 00:32:01,880 No hay otra 1047 00:32:01,880 --> 00:32:03,720 Si no te haces dos arrays 1048 00:32:03,720 --> 00:32:05,340 Te haces un cliente tienda 1049 00:32:05,340 --> 00:32:07,460 Y ahí podrás llamar sin ningún problema a enviar pedido 1050 00:32:07,460 --> 00:32:09,840 Porque el array está declarado como cliente tienda 1051 00:32:09,840 --> 00:32:11,600 Y te haces luego un cliente online 1052 00:32:11,600 --> 00:32:13,640 Y ahí podrías llamar a enviar pedido 1053 00:32:13,640 --> 00:32:15,640 Porque enviar pedido está en cliente online también 1054 00:32:15,640 --> 00:32:16,880 Pero como te hagas un parche a la aplicación 1055 00:32:16,900 --> 00:32:17,940 Y haces un array cliente 1056 00:32:17,940 --> 00:32:21,160 Solo puedes llamar a lo que esté en cliente 1057 00:32:21,160 --> 00:32:23,120 Y ahí no hay ningún enviar pedido 1058 00:32:23,120 --> 00:32:25,500 Pues eso es lo que nos está diciendo 1059 00:32:25,500 --> 00:32:26,160 ¿Vale? 1060 00:32:26,180 --> 00:32:27,480 Y tiene sentido que se proteja 1061 00:32:27,480 --> 00:32:30,980 Entonces nosotros empezamos a buscar la solución 1062 00:32:30,980 --> 00:32:32,720 Y decimos 1063 00:32:32,720 --> 00:32:33,720 Vale pues ven 1064 00:32:33,720 --> 00:32:35,600 Vamos a hacer enviar pedido en cliente 1065 00:32:35,600 --> 00:32:37,060 Para que te calles 1066 00:32:37,060 --> 00:32:40,220 Entonces nos metemos aquí a hacer un enviar pedido 1067 00:32:40,220 --> 00:32:43,500 Public void 1068 00:32:43,500 --> 00:32:45,820 Enviar pedido 1069 00:32:46,900 --> 00:32:50,900 Enviar pedido 1070 00:32:50,900 --> 00:32:52,560 Y aquí ya 1071 00:32:52,560 --> 00:32:55,840 Otra vez nos quedamos atascados 1072 00:32:55,840 --> 00:32:57,240 Enviar pedido 1073 00:32:57,240 --> 00:32:58,000 Vamos a ver 1074 00:32:58,000 --> 00:33:00,300 En esta clase cliente enviar pedido 1075 00:33:00,300 --> 00:33:01,840 Pero como si no tengo información 1076 00:33:01,840 --> 00:33:04,220 Esta es la clase genérica 1077 00:33:04,220 --> 00:33:05,940 Que solo tiene el mismo nombre 1078 00:33:05,940 --> 00:33:08,560 Aquí no hay dirección, aquí no hay tienda, aquí no hay presencial 1079 00:33:08,560 --> 00:33:10,880 Enviar pedido ¿Qué hago con enviar pedido? 1080 00:33:12,060 --> 00:33:12,640 No puedo 1081 00:33:12,640 --> 00:33:13,360 No tengo información 1082 00:33:13,360 --> 00:33:14,500 Es que no sé 1083 00:33:14,500 --> 00:33:16,540 No tengo dirección, no tengo email 1084 00:33:16,540 --> 00:33:16,880 No tengo información 1085 00:33:16,900 --> 00:33:18,120 No tengo, no puedo hacerlo 1086 00:33:18,120 --> 00:33:20,580 O sea me obligas a hacer un método para poder llamarlo 1087 00:33:20,580 --> 00:33:22,420 Y cuando me voy a hacerlo 1088 00:33:22,420 --> 00:33:24,540 Es que no tiene sentido 1089 00:33:24,540 --> 00:33:26,240 Porque enviar pedido tiene sentido 1090 00:33:26,240 --> 00:33:27,960 Que se haga en las subclases 1091 00:33:27,960 --> 00:33:30,640 Cuando ya sé si es de tienda o es online 1092 00:33:30,640 --> 00:33:33,200 Pues efectivamente no tiene sentido 1093 00:33:33,200 --> 00:33:34,000 No puedo hacerlo 1094 00:33:34,000 --> 00:33:34,780 Luego ¿Qué hago? 1095 00:33:36,180 --> 00:33:36,960 Lo dejo vacío 1096 00:33:36,960 --> 00:33:40,180 Lo dejo vacío porque no puedo hacerlo 1097 00:33:40,180 --> 00:33:41,180 No tengo información 1098 00:33:41,180 --> 00:33:43,340 Lo dejo vacío, genial 1099 00:33:43,340 --> 00:33:44,340 Lo dejo vacío 1100 00:33:44,340 --> 00:33:46,440 Y ahora este ya se queda tan ancho 1101 00:33:46,440 --> 00:33:47,380 Ay que bien 1102 00:33:47,380 --> 00:33:49,660 Tienes ya un enviar pedido en cliente 1103 00:33:49,660 --> 00:33:51,080 Te dejo que lo llames 1104 00:33:51,080 --> 00:33:55,019 Y ahora me diríais 1105 00:33:55,019 --> 00:33:56,480 Jue, pues vaya tontería 1106 00:33:56,480 --> 00:33:58,420 ¿Y ahora qué va a pasar? 1107 00:33:58,779 --> 00:34:00,720 ¿Se va a llamar el enviar pedido de cliente? 1108 00:34:00,799 --> 00:34:01,640 Entonces no va a hacer nada 1109 00:34:01,640 --> 00:34:03,120 Pues no 1110 00:34:03,120 --> 00:34:07,559 Porque en el momento de ejecutar 1111 00:34:07,559 --> 00:34:09,220 Al método que se llama 1112 00:34:09,220 --> 00:34:11,340 Es al de la subclase 1113 00:34:11,340 --> 00:34:14,260 Luego 1114 00:34:14,260 --> 00:34:16,019 Tenéis que distinguir 1115 00:34:16,440 --> 00:34:18,119 Fasa de compilación 1116 00:34:18,119 --> 00:34:20,860 Tiempo de compilación que se llama 1117 00:34:20,860 --> 00:34:22,760 Uno está desarrollando su código 1118 00:34:22,760 --> 00:34:24,980 Y ahí tiene que seguir las reglas del juego 1119 00:34:24,980 --> 00:34:26,200 Tiene que seguirlas 1120 00:34:26,200 --> 00:34:28,559 Y las reglas del juego me dicen 1121 00:34:28,559 --> 00:34:31,039 Oye yo tengo que fijar unas reglas 1122 00:34:31,039 --> 00:34:33,519 Y si tú me has dicho que en este array 1123 00:34:33,519 --> 00:34:35,200 Puede haber cualquier tipo de cliente 1124 00:34:35,200 --> 00:34:36,220 Cualquier tipo 1125 00:34:36,220 --> 00:34:37,880 Yo tengo que asegurarme 1126 00:34:37,880 --> 00:34:39,860 De que en cualquier tipo de cliente 1127 00:34:39,860 --> 00:34:41,000 Hay un método de enviar pedido 1128 00:34:41,000 --> 00:34:41,780 Porque si no 1129 00:34:41,780 --> 00:34:45,079 ¿Cómo sé yo que luego no vas a meter un objeto 1130 00:34:45,079 --> 00:34:46,400 De un tipo? 1131 00:34:46,440 --> 00:34:47,659 Cualquier cliente que lo tenga 1132 00:34:47,659 --> 00:34:48,300 ¿Cómo lo sé yo? 1133 00:34:48,360 --> 00:34:49,159 Me tengo que asegurar 1134 00:34:49,159 --> 00:34:51,200 Mi única manera de asegurarme 1135 00:34:51,200 --> 00:34:52,800 De que en todo va a haber enviar pedido 1136 00:34:52,800 --> 00:34:54,059 Es que me lo hagas en la superclase 1137 00:34:54,059 --> 00:34:55,980 Porque si me lo haces en la superclase 1138 00:34:55,980 --> 00:34:56,599 Te lo darán todas 1139 00:34:56,599 --> 00:34:57,740 Es mi única forma de asegurarse 1140 00:34:57,740 --> 00:34:59,579 Entonces tienes que seguir las reglas del juego 1141 00:34:59,579 --> 00:35:00,720 Vale, la sigo 1142 00:35:00,720 --> 00:35:02,500 Y me hago un enviar pedido en cliente 1143 00:35:02,500 --> 00:35:04,119 Tiempo de compilación 1144 00:35:04,119 --> 00:35:05,760 Ahora ya pasamos al tiempo de ejecución 1145 00:35:05,760 --> 00:35:07,119 Esta aplicación se ejecuta 1146 00:35:07,119 --> 00:35:11,019 Ahora ya el compilador ya no entra en juego 1147 00:35:11,019 --> 00:35:11,599 Se acabó 1148 00:35:11,599 --> 00:35:13,679 Ahora entra en juego la máquina virtual 1149 00:35:13,679 --> 00:35:16,240 La máquina virtual empieza a ejecutar 1150 00:35:16,240 --> 00:35:16,280 La máquina virtual empieza a ejecutar 1151 00:35:16,280 --> 00:35:16,360 La máquina virtual empieza a ejecutar 1152 00:35:16,360 --> 00:35:16,420 La máquina virtual empieza a ejecutar 1153 00:35:16,440 --> 00:35:19,659 Y ahora ya como estamos en tiempo de ejecución 1154 00:35:19,659 --> 00:35:20,900 Ya el array tiene cosas 1155 00:35:20,900 --> 00:35:22,240 Ya tiene cosas 1156 00:35:22,240 --> 00:35:24,139 Ya tiene objetos concretos 1157 00:35:24,139 --> 00:35:26,700 Tiene a lo mejor 3 clientes tienda 1158 00:35:26,700 --> 00:35:27,920 Luego 2 clientes online 1159 00:35:27,920 --> 00:35:28,920 Luego otro cliente tienda 1160 00:35:28,920 --> 00:35:29,679 Ya tiene objetos 1161 00:35:29,679 --> 00:35:31,639 Porque ya estamos en tiempo de ejecución 1162 00:35:31,639 --> 00:35:34,019 Y ahora está la máquina virtual jugando 1163 00:35:34,019 --> 00:35:36,240 El compilador ya dejó de jugar 1164 00:35:36,240 --> 00:35:37,980 Porque ya hemos compilado todo perfecto 1165 00:35:37,980 --> 00:35:39,159 Ahora está la máquina virtual 1166 00:35:39,159 --> 00:35:42,079 La máquina virtual ya tiene un array concreto 1167 00:35:42,079 --> 00:35:43,240 Y empieza a recorrerlo 1168 00:35:43,240 --> 00:35:43,940 Dice venga 1169 00:35:43,940 --> 00:35:46,220 Este cliente coincide es un if 1170 00:35:46,220 --> 00:35:47,320 Muy bien 1171 00:35:47,320 --> 00:35:49,260 Pues voy a llamar al método de enviar pedido 1172 00:35:49,260 --> 00:35:51,120 Pero la máquina virtual lo que hace es decirse 1173 00:35:51,120 --> 00:35:51,460 Oye 1174 00:35:51,460 --> 00:35:53,840 Este objeto concreto 1175 00:35:53,840 --> 00:35:55,860 Cuando se ha creado 1176 00:35:55,860 --> 00:35:57,240 ¿De qué tipo se ha creado? 1177 00:35:57,760 --> 00:35:59,940 ¿Se ha creado como tienda o como online? 1178 00:36:01,400 --> 00:36:02,840 Porque yo voy a llamar 1179 00:36:02,840 --> 00:36:05,580 Al método que esté en la versión de la clase 1180 00:36:05,580 --> 00:36:06,980 Como se ha creado 1181 00:36:06,980 --> 00:36:08,440 Como se ha creado 1182 00:36:08,440 --> 00:36:11,880 Porque la máquina virtual juega ya en tiempo de creación de objetos 1183 00:36:11,880 --> 00:36:12,920 De ejecución 1184 00:36:12,920 --> 00:36:15,019 Luego 1185 00:36:15,019 --> 00:36:17,139 Si clientes de ahí coincide 1186 00:36:17,139 --> 00:36:19,000 Que se creó y existe 1187 00:36:19,000 --> 00:36:20,800 Como cliente tienda 1188 00:36:20,800 --> 00:36:22,180 Porque en el momento de crearse 1189 00:36:22,180 --> 00:36:23,619 Se creó como cliente tienda 1190 00:36:23,619 --> 00:36:26,599 La versión de enviar pedido a la que se llame 1191 00:36:26,599 --> 00:36:29,039 Será la que esté en cliente tienda 1192 00:36:29,039 --> 00:36:31,440 Pero si clientes de ahí 1193 00:36:31,440 --> 00:36:33,519 Coincide que se creó en el momento de añadirlo 1194 00:36:33,519 --> 00:36:35,039 Se creó como cliente online 1195 00:36:35,039 --> 00:36:37,039 La versión de enviar pedido 1196 00:36:37,039 --> 00:36:38,840 A la que llama la máquina virtual 1197 00:36:38,840 --> 00:36:40,659 Es a la que hay en cliente online 1198 00:36:40,659 --> 00:36:42,059 ¿Vale? 1199 00:36:42,920 --> 00:36:45,579 Luego distinguir la fase de compilación 1200 00:36:45,579 --> 00:36:47,059 Se juega con unas reglas 1201 00:36:47,059 --> 00:36:48,559 Y la fase de ejecución 1202 00:36:48,559 --> 00:36:50,500 Y tiene todo el sentido del mundo 1203 00:36:50,500 --> 00:36:51,980 Que esté así hecho la cosa 1204 00:36:51,980 --> 00:36:54,300 ¿Vale? 1205 00:36:55,000 --> 00:36:57,320 Entonces, aunque aquí haya un enviar pedido 1206 00:36:57,320 --> 00:36:59,420 En blanco 1207 00:36:59,420 --> 00:37:01,300 Este enviar pedido 1208 00:37:01,300 --> 00:37:02,960 Está hecho simplemente 1209 00:37:02,960 --> 00:37:04,700 Para generar una obligación 1210 00:37:04,700 --> 00:37:06,240 Y dices 1211 00:37:06,240 --> 00:37:08,740 Yo cliente te obligo 1212 00:37:08,740 --> 00:37:10,820 A cliente tienda 1213 00:37:10,820 --> 00:37:12,900 Cliente online, cliente patatín 1214 00:37:12,920 --> 00:37:13,760 Cliente patatón 1215 00:37:13,760 --> 00:37:16,380 Te obligo a que hagas un método enviar pedido 1216 00:37:16,380 --> 00:37:18,059 Y tú ya le rellenas como te dé la gana 1217 00:37:18,059 --> 00:37:20,220 Yo te doy 1218 00:37:20,220 --> 00:37:22,300 Te genero la obligación 1219 00:37:22,300 --> 00:37:23,000 De alguna manera 1220 00:37:23,000 --> 00:37:24,980 No es que sea una obligación 1221 00:37:24,980 --> 00:37:27,860 Te doy las pautas de que si eres un cliente 1222 00:37:27,860 --> 00:37:29,240 Hombre, pues si eres un cliente 1223 00:37:29,240 --> 00:37:30,720 Interesa que tengas un enviar pedido 1224 00:37:30,720 --> 00:37:32,700 Pero yo aquí lo dejo en blanco 1225 00:37:32,700 --> 00:37:36,340 Pero hago como una especie de plantilla 1226 00:37:36,340 --> 00:37:38,500 Y digo, todos los clientes 1227 00:37:38,500 --> 00:37:40,340 Tiene sentido que tengan un enviar pedido 1228 00:37:40,340 --> 00:37:42,039 Pues yo aviso de eso 1229 00:37:42,039 --> 00:37:42,900 Aviso de eso 1230 00:37:42,920 --> 00:37:43,780 Poniéndolo en blanco 1231 00:37:43,780 --> 00:37:46,860 Y ahora ya, cuando el programador 1232 00:37:46,860 --> 00:37:48,240 Se pone a heredar de cliente 1233 00:37:48,240 --> 00:37:50,400 Dice, me voy a hacer mi propia versión 1234 00:37:50,400 --> 00:37:51,099 De enviar pedido 1235 00:37:51,099 --> 00:37:52,559 Ahora yo me hago mi propia versión 1236 00:37:52,559 --> 00:37:56,680 Entonces esto es una especie de marco 1237 00:37:56,680 --> 00:37:58,700 De significado de las cosas 1238 00:37:58,700 --> 00:38:00,780 Si hemos acordado que a los clientes 1239 00:38:00,780 --> 00:38:01,860 Les pueden enviar pedidos 1240 00:38:01,860 --> 00:38:04,760 Pues vamos a indicar eso de alguna manera 1241 00:38:04,760 --> 00:38:06,000 Poniéndolo en la superclase 1242 00:38:06,000 --> 00:38:08,880 Y entonces ya las subclases 1243 00:38:08,880 --> 00:38:10,680 Cada una da su propia versión 1244 00:38:10,680 --> 00:38:12,760 Cada una da su propia versión 1245 00:38:12,920 --> 00:38:16,000 Cliente online da su versión 1246 00:38:16,000 --> 00:38:17,200 Que es esta 1247 00:38:17,200 --> 00:38:20,240 Y cliente tienda da su versión 1248 00:38:20,240 --> 00:38:20,900 Que es esta 1249 00:38:20,900 --> 00:38:22,880 Y luego ya la máquina virtual 1250 00:38:22,880 --> 00:38:24,420 Cuando ya entre a jugar la máquina 1251 00:38:24,420 --> 00:38:26,019 Porque ya esto se está ejecutando 1252 00:38:26,019 --> 00:38:28,960 Pues la máquina virtual ya 1253 00:38:28,960 --> 00:38:31,559 Ya decidirá 1254 00:38:31,559 --> 00:38:34,400 Dirá, venga, este, ¿qué es? 1255 00:38:34,820 --> 00:38:37,300 Este se instanció o se creó como tienda 1256 00:38:37,300 --> 00:38:39,539 Pues llama a la versión que está en tienda 1257 00:38:39,539 --> 00:38:41,300 Se instanció como no sé qué 1258 00:38:41,300 --> 00:38:42,340 Pues llama a la versión 1259 00:38:42,340 --> 00:38:42,900 De la tienda 1260 00:38:42,920 --> 00:38:43,460 De no sé qué 1261 00:38:43,460 --> 00:38:45,019 ¿Vale? 1262 00:38:49,019 --> 00:38:51,579 Bueno, pues esto es importantísimo entenderlo 1263 00:38:51,579 --> 00:38:52,559 Esto es lo que se llama 1264 00:38:52,559 --> 00:38:55,680 La sobrescritura de métodos 1265 00:38:55,680 --> 00:38:58,400 El método está en la clase padre 1266 00:38:58,400 --> 00:39:00,019 Y se hereda 1267 00:39:00,019 --> 00:39:01,519 Pero se hereda vacío 1268 00:39:01,519 --> 00:39:03,039 Que tú lo quieres tener vacío 1269 00:39:03,039 --> 00:39:03,940 En tu clase heredera 1270 00:39:03,940 --> 00:39:05,760 Pues lo dejas vacío 1271 00:39:05,760 --> 00:39:07,760 Pero que tú quieres tu propia versión 1272 00:39:07,760 --> 00:39:08,680 De enviar pedido 1273 00:39:08,680 --> 00:39:10,780 Pues la sobrescribes 1274 00:39:10,780 --> 00:39:12,539 Y sobrescribirlo es 1275 00:39:12,920 --> 00:39:14,420 Hacer uno igualito 1276 00:39:14,420 --> 00:39:15,500 Con la misma cabecera 1277 00:39:15,500 --> 00:39:16,579 Hacer uno igualito 1278 00:39:16,579 --> 00:39:18,300 Entonces te haces tu propia versión 1279 00:39:18,300 --> 00:39:21,159 Como subclase te haces tu propia versión 1280 00:39:21,159 --> 00:39:22,860 Con lo cual estás pisando el heredado 1281 00:39:22,860 --> 00:39:25,480 Si yo no me hiciera esta versión 1282 00:39:25,480 --> 00:39:26,099 De aquí 1283 00:39:26,099 --> 00:39:29,500 En cliente tienda 1284 00:39:29,500 --> 00:39:32,440 En cliente online que estoy 1285 00:39:32,440 --> 00:39:34,039 Si yo no me la hago 1286 00:39:34,039 --> 00:39:35,619 Esta tiene la heredada 1287 00:39:35,619 --> 00:39:36,139 La tiene 1288 00:39:36,139 --> 00:39:37,200 Porque se hereda todo 1289 00:39:37,200 --> 00:39:39,099 Y la heredada sería 1290 00:39:39,099 --> 00:39:40,300 Estaría heredando un vacío 1291 00:39:40,300 --> 00:39:41,740 Vale, pues se hereda un vacío 1292 00:39:41,740 --> 00:39:42,740 Pero normalmente 1293 00:39:42,740 --> 00:39:44,140 Normal es que las subclases 1294 00:39:44,140 --> 00:39:46,180 Quieran ya dar un funcionamiento 1295 00:39:46,180 --> 00:39:47,480 Concreto a las acciones 1296 00:39:47,480 --> 00:39:49,860 Y entonces la cliente tienda dice 1297 00:39:49,860 --> 00:39:51,140 O cliente online dice 1298 00:39:51,140 --> 00:39:51,940 No, no, no 1299 00:39:51,940 --> 00:39:52,340 Oye 1300 00:39:52,340 --> 00:39:54,820 Yo quiero mi propia versión 1301 00:39:54,820 --> 00:39:55,660 De enviar pedido 1302 00:39:55,660 --> 00:39:57,020 Entonces me hago ese método 1303 00:39:57,020 --> 00:39:57,920 Con la misma cabecera 1304 00:39:57,920 --> 00:39:58,940 Y ya le meto 1305 00:39:58,940 --> 00:40:00,240 Lo que yo quiero en concreto 1306 00:40:00,240 --> 00:40:02,060 Y ahora ya 1307 00:40:02,060 --> 00:40:03,100 Cuando los objetos 1308 00:40:03,100 --> 00:40:04,120 Llamen a enviar pedido 1309 00:40:04,120 --> 00:40:06,500 Aunque se han declarado como cliente 1310 00:40:06,500 --> 00:40:08,600 Si en el momento de crearlo 1311 00:40:08,600 --> 00:40:09,580 Se han creado 1312 00:40:09,580 --> 00:40:10,960 Como cliente tienda 1313 00:40:10,960 --> 00:40:12,260 La versión del método 1314 00:40:12,260 --> 00:40:12,660 Que se llama 1315 00:40:12,660 --> 00:40:12,720 Es el método de enviar pedido 1316 00:40:12,740 --> 00:40:13,160 Que pasa esto 1317 00:40:13,160 --> 00:40:14,500 Vale 1318 00:40:14,500 --> 00:40:16,720 Entonces hemos sobre escrito el método 1319 00:40:16,720 --> 00:40:19,160 Y este es el famoso 1320 00:40:19,160 --> 00:40:20,760 Polimorfismo de la programación 1321 00:40:20,760 --> 00:40:21,380 En todo objeto 1322 00:40:21,380 --> 00:40:23,160 Es esto 1323 00:40:23,160 --> 00:40:24,420 Entonces uno se pone a estudiar 1324 00:40:24,420 --> 00:40:25,520 Polimorfismo es esto 1325 00:40:25,520 --> 00:40:26,340 Bla, bla, bla, bla, bla 1326 00:40:26,340 --> 00:40:28,140 Pues viene de esta motivación 1327 00:40:28,140 --> 00:40:28,620 Viene 1328 00:40:28,620 --> 00:40:30,760 De que 1329 00:40:30,760 --> 00:40:32,920 Este método 1330 00:40:32,920 --> 00:40:34,040 Enviar pedido de aquí 1331 00:40:34,040 --> 00:40:35,560 Nos parece 1332 00:40:35,560 --> 00:40:37,800 Que estamos llamando 1333 00:40:37,800 --> 00:40:38,680 Al mismo código 1334 00:40:38,680 --> 00:40:40,200 Por hacer esta llamada 1335 00:40:40,200 --> 00:40:40,480 No 1336 00:40:40,480 --> 00:40:42,660 ¿A qué código estamos llamando? 1337 00:40:42,659 --> 00:40:44,279 Depende de la forma 1338 00:40:44,279 --> 00:40:45,119 De ahí la palabra 1339 00:40:45,119 --> 00:40:46,039 Polimorfismo 1340 00:40:46,039 --> 00:40:47,739 Del objeto que lo llama 1341 00:40:47,739 --> 00:40:50,119 Que este objeto es cliente tienda 1342 00:40:50,119 --> 00:40:54,000 Este se va al código de cliente tienda 1343 00:40:54,000 --> 00:40:56,460 Que este objeto adopta otra forma 1344 00:40:56,460 --> 00:40:57,679 Y ahora es cliente online 1345 00:40:57,679 --> 00:40:58,759 Este método 1346 00:40:58,759 --> 00:41:00,440 Es el de cliente online 1347 00:41:00,440 --> 00:41:04,219 Esto es el concepto de polimorfismo 1348 00:41:04,219 --> 00:41:05,239 De la programación de antavos objetos 1349 00:41:05,239 --> 00:41:07,480 Una llamada a un método 1350 00:41:07,480 --> 00:41:08,819 De la clase cliente 1351 00:41:08,819 --> 00:41:10,039 O es 1352 00:41:10,039 --> 00:41:12,199 Una forma en concreto 1353 00:41:12,200 --> 00:41:13,200 O es otra forma 1354 00:41:13,200 --> 00:41:15,520 En función del objeto que lo llame 1355 00:41:15,520 --> 00:41:16,360 Porque cada objeto 1356 00:41:16,360 --> 00:41:17,880 Lo habrá sobrescrito a su manera 1357 00:41:17,880 --> 00:41:19,520 ¿Vale? 1358 00:41:22,580 --> 00:41:23,480 Vale, bueno 1359 00:41:23,480 --> 00:41:25,140 Pues vamos a dejarlo aquí 1360 00:41:25,140 --> 00:41:27,360 Entonces 1361 00:41:27,360 --> 00:41:29,380 Todo por favor 1362 00:41:29,380 --> 00:41:31,080 Yo luego cuando llegue a casa 1363 00:41:31,080 --> 00:41:33,960 Subo las grabaciones y el proyecto 1364 00:41:33,960 --> 00:41:36,940 Y todo lo 1365 00:41:36,940 --> 00:41:37,640 Estoy