1 00:00:00,690 --> 00:00:11,789 Voy a grabar esta clase, si habláis durante la clase me autorizáis automáticamente a que vuestra voz sea grabada, ¿vale? 2 00:00:12,210 --> 00:00:22,649 Entonces, new class, hemos dicho que vamos a intentar hacer un sistema, una serie de objetos, ¿vale? 3 00:00:22,649 --> 00:00:29,550 Que hablarán entre ellos y trabajarán entre ellos para crear una simulación de una agencia de viaje, un aeropuerto 4 00:00:29,550 --> 00:00:30,949 Ahora veremos por donde va 5 00:00:30,949 --> 00:00:32,770 Empezamos con 6 00:00:32,770 --> 00:00:35,429 Vuelo, objeto vuelo 7 00:00:35,429 --> 00:00:37,369 El objeto vuelo representa 8 00:00:37,369 --> 00:00:39,390 Un vuelo posible 9 00:00:39,390 --> 00:00:40,229 A nivel de 10 00:00:40,229 --> 00:00:42,990 Cuando vosotros vais al aeropuerto por ejemplo 11 00:00:42,990 --> 00:00:45,549 Y miráis el vuelo FR471 12 00:00:46,390 --> 00:00:47,450 Es un vuelo 13 00:00:47,450 --> 00:00:48,789 Que tiene una fecha 14 00:00:48,789 --> 00:00:51,670 La fecha no, porque luego se repite 15 00:00:51,670 --> 00:00:53,329 Pero tiene un horario 16 00:00:53,329 --> 00:00:54,810 No se, vale 17 00:00:54,810 --> 00:00:57,369 Entonces vamos a intentar modelizar 18 00:00:57,369 --> 00:00:58,990 Ese concepto 19 00:00:58,990 --> 00:01:00,850 Y a ver que hacemos, no tiene main, vale 20 00:01:00,850 --> 00:01:03,229 Es un objeto que lo hago utilizar 21 00:01:03,229 --> 00:01:03,909 De alguna forma 22 00:01:03,909 --> 00:01:07,370 Aquí lo tengo, ¿qué es interesante 23 00:01:07,370 --> 00:01:08,010 De un vuelo? 24 00:01:08,969 --> 00:01:10,030 Venga, decídmelo 25 00:01:10,030 --> 00:01:17,060 String 26 00:01:17,060 --> 00:01:18,420 Compa... 27 00:01:18,420 --> 00:01:19,579 Compa... 28 00:01:19,579 --> 00:01:20,840 Compa... 29 00:01:20,840 --> 00:01:25,739 String 30 00:01:25,739 --> 00:01:28,620 Número vuelo 31 00:01:28,620 --> 00:01:30,459 Bueno, hagamos un int vuelo 32 00:01:31,140 --> 00:01:32,640 Hacemos un 33 00:01:32,640 --> 00:01:33,420 Identificador 34 00:01:33,420 --> 00:01:40,359 Normalmente es un código 35 00:01:40,359 --> 00:01:42,000 Dos letras y luego un número 36 00:01:42,000 --> 00:01:44,079 Pero haremos que la compañía 37 00:01:44,079 --> 00:01:45,280 Serán estas dos letras 38 00:01:45,280 --> 00:01:46,340 Ya está, sucio, ¿no? 39 00:01:47,819 --> 00:01:48,299 Int 40 00:01:48,299 --> 00:01:50,159 Num modulo 41 00:01:50,159 --> 00:01:52,480 Más 42 00:01:52,480 --> 00:01:58,730 Int 43 00:01:58,730 --> 00:02:03,109 Asientos disponibles 44 00:02:03,109 --> 00:02:03,829 Asientos, sí 45 00:02:03,829 --> 00:02:07,349 Asientos disponibles 46 00:02:07,349 --> 00:02:16,229 qué más me encantáis ahora salida del vuelo como lo 47 00:02:16,229 --> 00:02:29,740 definimos interesa todo excepto de dónde está la hora de salida es que no sabía 48 00:02:29,740 --> 00:02:33,780 cómo utilizarla ahora mismo con lo que tenéis vosotros que lo ponemos un string 49 00:02:33,780 --> 00:02:36,099 Le ponemos la hora con un número 50 00:02:36,099 --> 00:02:37,860 En los minutos con otro número 51 00:02:37,860 --> 00:02:41,000 O creamos un tipo de fecha 52 00:02:41,000 --> 00:02:42,360 O creamos un tipo de hora 53 00:02:42,360 --> 00:02:44,099 Pero ahora lo dejamos por ahí, ¿vale? 54 00:02:44,479 --> 00:02:46,159 No me interesa, hay un vuelo cada día 55 00:02:46,159 --> 00:02:48,500 Destino 56 00:02:48,500 --> 00:02:51,419 Ring, destino 57 00:02:51,419 --> 00:02:55,400 Ring, origen 58 00:02:55,400 --> 00:02:58,599 No, venga, que lo quito 59 00:02:58,599 --> 00:03:02,969 Aprovecho para recordar 60 00:03:02,969 --> 00:03:04,349 Las variables 61 00:03:04,349 --> 00:03:06,330 siempre empiezan por minúsculas 62 00:03:06,330 --> 00:03:07,729 si son dos palabras 63 00:03:07,729 --> 00:03:09,909 pues entonces la segunda 64 00:03:09,909 --> 00:03:11,909 o tres o cuatro, pues las siguientes 65 00:03:11,909 --> 00:03:13,610 empiezan con mayúsculas, ¿vale? 66 00:03:14,050 --> 00:03:16,210 os recuerdo también que las clases en vez 67 00:03:16,210 --> 00:03:17,729 empiezan por mayúsculas 68 00:03:17,729 --> 00:03:19,349 y os recuerdo también que las 69 00:03:19,349 --> 00:03:22,250 los métodos empiezan 70 00:03:22,250 --> 00:03:23,250 por minúsculas 71 00:03:23,250 --> 00:03:24,729 y los 72 00:03:24,729 --> 00:03:28,009 las constantes son 73 00:03:28,009 --> 00:03:30,349 todo mayúsculas 74 00:03:30,349 --> 00:03:30,590 ¿sí? 75 00:03:31,590 --> 00:03:34,189 bueno, yo creo que eso 76 00:03:34,189 --> 00:03:36,150 suficiente, por ahora 77 00:03:36,150 --> 00:03:38,590 este de aquí 78 00:03:38,590 --> 00:03:39,729 yo lo relleno 79 00:03:39,729 --> 00:03:42,550 tendré que tener 80 00:03:42,550 --> 00:03:44,389 un constructor que me construya eso 81 00:03:44,389 --> 00:03:45,449 ¿cómo hago el constructor? 82 00:03:50,409 --> 00:03:52,090 ¿os acordáis? public vuelo 83 00:03:52,090 --> 00:03:54,030 y le pongo aquí la información 84 00:03:54,030 --> 00:03:54,770 que yo quiero 85 00:03:54,770 --> 00:03:57,509 entonces un string 86 00:03:57,509 --> 00:04:00,550 compañía 87 00:04:00,550 --> 00:04:01,669 un 88 00:04:01,669 --> 00:04:03,210 int 89 00:04:03,210 --> 00:04:05,490 número 90 00:04:05,490 --> 00:04:07,909 Un int 91 00:04:07,909 --> 00:04:10,550 Bueno, hacemos que cada vuelo 92 00:04:10,550 --> 00:04:12,389 Tendrá siempre un cierto número 93 00:04:12,389 --> 00:04:13,469 De asientos disponibles 94 00:04:13,469 --> 00:04:15,150 Que se lo pongo yo en automático, ¿vale? 95 00:04:15,229 --> 00:04:17,470 Todos los aviones son iguales 96 00:04:17,470 --> 00:04:18,649 Para simplificar, ¿eh? 97 00:04:19,149 --> 00:04:20,589 Luego estará un string 98 00:04:20,589 --> 00:04:24,069 Destino 99 00:04:24,069 --> 00:04:25,949 Y un string 100 00:04:25,949 --> 00:04:27,290 Origen 101 00:04:27,290 --> 00:04:30,129 Esto es feo, ¿eh? 102 00:04:30,509 --> 00:04:31,990 No se debería poner así, ¿eh? 103 00:04:32,149 --> 00:04:33,970 Se debería poner con algo que se entienda 104 00:04:33,970 --> 00:04:36,389 estaría bien también poner directamente 105 00:04:36,389 --> 00:04:37,910 esto, tanto no lo sabemos 106 00:04:37,910 --> 00:04:42,350 para que luego la gente 107 00:04:42,350 --> 00:04:44,069 sepa que es cada uno de estos 108 00:04:44,069 --> 00:04:45,930 que es de, no lo sé, que es destino 109 00:04:45,930 --> 00:04:48,069 pues sí, el destino no lo sé 110 00:04:48,069 --> 00:04:48,790 vale 111 00:04:48,790 --> 00:04:51,990 y entonces ahora asigno 112 00:04:51,990 --> 00:04:54,110 todo lo que tengo que asignar 113 00:04:54,110 --> 00:04:56,069 dis.compañia 114 00:04:57,069 --> 00:05:02,319 es igual a compañía 115 00:05:02,319 --> 00:05:04,279 dis.compañia 116 00:05:06,180 --> 00:05:09,839 NumVuelo es igual a NumVuelo 117 00:05:09,839 --> 00:05:15,160 Y ese punto 118 00:05:15,160 --> 00:05:16,579 Asientos disponibles 119 00:05:16,579 --> 00:05:17,699 Es igual a asientos disponibles 120 00:05:17,699 --> 00:05:18,980 Ah no, esto habíamos dicho 121 00:05:18,980 --> 00:05:20,879 Cinco 122 00:05:20,879 --> 00:05:24,480 Son aviones pequeños 123 00:05:24,480 --> 00:05:24,819 ¿Vale? 124 00:05:25,959 --> 00:05:28,560 ¿Por qué hago aviones pequeños? 125 00:05:34,500 --> 00:05:34,779 Bueno 126 00:05:34,779 --> 00:05:41,339 ¿Qué sentido? 127 00:05:42,680 --> 00:05:44,300 Cinco, si es pequeño 128 00:05:44,300 --> 00:05:46,220 Pero un INTA puede llegar a 129 00:05:46,220 --> 00:05:48,879 Miles y miles y centinares de miles 130 00:05:48,879 --> 00:05:53,779 Lo hago pequeño porque si quiero que esto tenga algún sentido 131 00:05:53,779 --> 00:05:56,220 Ahora lo veremos, estamos inventando, por lo tanto no lo sé 132 00:05:56,220 --> 00:05:57,660 Pero si quiero que haya algún sentido 133 00:05:57,660 --> 00:06:00,079 En plan, que cuando alguien intenta comprar un billete 134 00:06:00,079 --> 00:06:01,839 Si no hay asientos disponibles 135 00:06:01,839 --> 00:06:03,959 Le diga, no puedes comprar este billete 136 00:06:03,959 --> 00:06:05,040 ¿Vale? 137 00:06:05,500 --> 00:06:07,100 En un cierto sentido, pues 138 00:06:07,100 --> 00:06:08,860 No puedo poner 500 139 00:06:08,860 --> 00:06:10,800 Porque si no lo hago, no lo voy a probar 140 00:06:10,800 --> 00:06:13,540 Tengo que hacer 500 billetes antes que me diga que no 141 00:06:13,540 --> 00:06:15,579 Entonces pongo un número bajo 142 00:06:15,579 --> 00:06:18,120 Así luego si hago 5 billetes 143 00:06:18,120 --> 00:06:20,379 ya me dirá, has comprado 144 00:06:20,379 --> 00:06:22,160 y luego después cuando esto 145 00:06:22,160 --> 00:06:23,819 entre en producción, este de aquí 146 00:06:23,819 --> 00:06:25,000 dependerá del avión 147 00:06:25,000 --> 00:06:27,899 en el que está conectado 148 00:06:27,899 --> 00:06:30,199 que se yo, y cuantos plazas tiene, no lo sé 149 00:06:30,199 --> 00:06:32,439 pero por ahora 150 00:06:32,439 --> 00:06:34,319 pongo un número bajo 151 00:06:34,319 --> 00:06:35,620 5, 3, vale 152 00:06:35,620 --> 00:06:37,319 para probar 153 00:06:37,319 --> 00:06:40,139 vuelo 154 00:06:40,139 --> 00:06:43,959 mira, para 155 00:06:43,959 --> 00:06:46,060 para lo que quiero 156 00:06:46,060 --> 00:06:48,220 hacer yo, yo lo dejaría 157 00:06:48,220 --> 00:06:49,740 hasta así, esta clase, ¿vale? 158 00:06:50,139 --> 00:06:52,139 en el sentido que esto representa un vuelo 159 00:06:52,139 --> 00:06:54,180 no me 160 00:06:54,180 --> 00:06:55,180 interesa tanto decir 161 00:06:55,180 --> 00:06:58,420 que hora sale el vuelo, hora aterrizado 162 00:06:58,420 --> 00:06:58,959 hora 163 00:06:58,959 --> 00:07:01,360 no sé qué, ¿vale? 164 00:07:01,480 --> 00:07:03,480 esto a lo mejor lo hará otra persona 165 00:07:03,480 --> 00:07:05,300 podría añadir aquí un estado 166 00:07:05,300 --> 00:07:07,720 un string estado que me dice 167 00:07:07,720 --> 00:07:09,139 en tierra 168 00:07:09,139 --> 00:07:12,120 despegado, viajando 169 00:07:12,120 --> 00:07:13,560 o cosa por el estilo, ¿vale? 170 00:07:13,920 --> 00:07:15,120 no lo sé, pero 171 00:07:15,120 --> 00:07:37,240 Pero como mi perspectiva es más bien de una agencia de viaje, cuando la agencia de viaje te vende el billete, no sabes si despega o no despega. La hora podría ser interesante, el día también, pero repito, yo lo veo desde la perspectiva de agencia de viaje. 172 00:07:37,240 --> 00:07:56,639 Entonces, el día tampoco me interesa mucho, o sea, el día no hace parte del vuelo. A mí me interesa que el vuelo exista, que haya la conexión Madrid-Pisa, ¿vale? Luego, la fecha no depende tanto de vosotros, sino depende de cuando queréis, o sea, no depende del vuelo, sino de cuándo queréis viajar vosotros. 173 00:07:56,639 --> 00:07:59,959 Entonces lo pongo en otro contexto, por ejemplo 174 00:07:59,959 --> 00:08:00,860 ¿Sí? 175 00:08:01,259 --> 00:08:02,160 O sea que esto es 176 00:08:02,160 --> 00:08:05,779 Esto me dará una simulación 177 00:08:05,779 --> 00:08:08,579 De cuáles son las conexiones posibles 178 00:08:08,579 --> 00:08:09,879 Digamos así 179 00:08:09,879 --> 00:08:11,019 Y cómo se llaman 180 00:08:11,019 --> 00:08:14,379 Quién opera esa conexión 181 00:08:14,379 --> 00:08:16,699 Y qué número de vuelo opera esa conexión 182 00:08:16,699 --> 00:08:17,980 Cuando yo te compraré un billete 183 00:08:17,980 --> 00:08:19,540 Si tú quieres ir de Madrid a Pisa 184 00:08:19,540 --> 00:08:22,879 Tendré que buscar cuál es el vuelo que va de Madrid a Pisa 185 00:08:22,879 --> 00:08:23,939 Y te diré 186 00:08:23,939 --> 00:08:26,399 En tu billete te pondré 187 00:08:26,399 --> 00:08:28,360 por ejemplo, no huele 188 00:08:28,360 --> 00:08:30,620 la compañía para que tú te identifiques 189 00:08:30,620 --> 00:08:32,120 ¿sí? 190 00:08:32,580 --> 00:08:34,139 ¿me explico? entonces esto 191 00:08:34,139 --> 00:08:36,480 es por ejemplo una clase 192 00:08:36,480 --> 00:08:38,500 sin métodos 193 00:08:38,500 --> 00:08:39,480 ¿vale? 194 00:08:40,500 --> 00:08:42,580 en la realidad de las cosas 195 00:08:42,580 --> 00:08:44,019 en la realidad verdadera 196 00:08:44,019 --> 00:08:46,279 es posible que 197 00:08:46,279 --> 00:08:48,259 esta clase tenga que 198 00:08:48,259 --> 00:08:50,360 tener getResetter 199 00:08:50,360 --> 00:08:52,440 ¿vale? los getResetter 200 00:08:52,440 --> 00:08:54,139 son métodos especiales para 201 00:08:54,139 --> 00:08:55,139 pillar 202 00:08:55,139 --> 00:08:57,519 Estos valores 203 00:08:57,519 --> 00:09:00,139 O setar o configurar 204 00:09:00,139 --> 00:09:02,320 O dar un valor a estas variables 205 00:09:02,320 --> 00:09:02,960 ¿Vale? 206 00:09:02,960 --> 00:09:04,759 Pero eso tiene sentido 207 00:09:04,759 --> 00:09:06,740 Cuando nosotros empezaremos a utilizar 208 00:09:06,740 --> 00:09:07,799 Cosas como 209 00:09:07,799 --> 00:09:09,840 Public 210 00:09:09,840 --> 00:09:11,460 O protected 211 00:09:11,460 --> 00:09:14,559 Protected 212 00:09:14,559 --> 00:09:16,120 O private 213 00:09:16,120 --> 00:09:19,220 Que será la que nos interesará más 214 00:09:19,220 --> 00:09:20,919 En estos contextos 215 00:09:20,919 --> 00:09:23,379 Como nosotros esto no lo estamos utilizando 216 00:09:23,379 --> 00:09:26,259 Tampoco los getter y los setter nos sirven de mucho 217 00:09:26,259 --> 00:09:32,019 Entonces nosotros accederemos directamente a estas variables 218 00:09:32,019 --> 00:09:34,600 No lo haremos a través de un método, ¿vale? 219 00:09:35,179 --> 00:09:35,620 ¿Por qué? 220 00:09:36,159 --> 00:09:38,000 Lo descubriremos después, ¿vale? 221 00:09:38,059 --> 00:09:40,940 Porque nos puede venir bien acceder por un método 222 00:09:40,940 --> 00:09:42,440 Un getter y un setter, ¿vale? 223 00:09:42,440 --> 00:09:45,259 Como todavía estamos aprendiendo la base 224 00:09:45,259 --> 00:09:49,980 No sobrecargamos de dificultad, ¿vale? 225 00:09:49,980 --> 00:09:52,559 Además los getter y setter 226 00:09:52,559 --> 00:09:54,159 Si me acuerdo como se hacen 227 00:09:54,159 --> 00:09:55,700 Hay un botón aquí que te los hace 228 00:09:55,700 --> 00:09:57,620 En seguido 229 00:09:57,620 --> 00:09:59,159 ¿Dónde? 230 00:10:00,539 --> 00:10:01,059 Surge 231 00:10:01,059 --> 00:10:03,740 Ahí 232 00:10:03,740 --> 00:10:05,519 Y aquí 233 00:10:05,519 --> 00:10:08,320 Generate getter y setter 234 00:10:08,320 --> 00:10:10,019 Tú pinchas aquí y ya te lo genera él 235 00:10:10,019 --> 00:10:11,279 Porque son cosas básicas 236 00:10:11,279 --> 00:10:13,019 Son cosas fáciles de hacer 237 00:10:13,019 --> 00:10:14,799 Pero ¿Por qué lo hago? 238 00:10:15,480 --> 00:10:16,620 Pues lo veremos más adelante 239 00:10:16,620 --> 00:10:19,519 Por ahora dejámoslo así 240 00:10:19,519 --> 00:10:22,019 Y trabajamos con esto normal 241 00:10:22,019 --> 00:10:24,019 ¿Vale? Entonces, ¿Esta clase qué hace? 242 00:10:24,519 --> 00:10:24,840 Nada 243 00:10:24,840 --> 00:10:29,600 ¿Vale? Por ahora no hace absolutamente nada 244 00:10:29,600 --> 00:10:31,500 Y se queda allí 245 00:10:31,500 --> 00:10:33,279 Es una clase de soporto 246 00:10:33,279 --> 00:10:34,620 Para mi sistema 247 00:10:34,620 --> 00:10:37,500 Porque ahora yo haré un sistema donde crearé 248 00:10:37,500 --> 00:10:39,740 Varios posibles vuelos 249 00:10:39,740 --> 00:10:41,500 Y esos me acordaré que existen 250 00:10:42,120 --> 00:10:42,480 ¿Vale? 251 00:10:43,679 --> 00:10:45,700 Y luego crearé billetes 252 00:10:45,700 --> 00:10:46,879 A partir de eso 253 00:10:46,879 --> 00:10:49,419 Entonces, vamos a hacer una nueva 254 00:10:49,419 --> 00:10:50,399 Clase 255 00:10:50,399 --> 00:10:55,179 ¿Vale? 256 00:10:55,519 --> 00:10:56,700 Esta nueva clase 257 00:10:56,700 --> 00:10:59,559 Será la que 258 00:10:59,559 --> 00:11:00,539 Eh 259 00:11:00,539 --> 00:11:06,000 Gestiona un billete 260 00:11:06,000 --> 00:11:08,080 O sea, un billete de avión, ¿no? 261 00:11:08,960 --> 00:11:09,639 Billete 262 00:11:09,639 --> 00:11:11,399 De avión 263 00:11:11,399 --> 00:11:14,620 A ver si luego tenemos que 264 00:11:14,620 --> 00:11:17,340 Volver a 265 00:11:17,340 --> 00:11:20,580 A mirar cosas 266 00:11:20,580 --> 00:11:21,740 ¿Vale? Pero por ahora 267 00:11:21,740 --> 00:11:23,399 ¿Qué es un billete de avión? ¿Vale? 268 00:11:24,000 --> 00:11:25,500 Entonces, el billete de avión 269 00:11:25,500 --> 00:11:26,600 Es lo que yo 270 00:11:26,600 --> 00:11:29,460 Compro, ¿vale? 271 00:11:29,519 --> 00:11:30,559 Y tendrá dentro 272 00:11:30,559 --> 00:11:33,559 La información para que yo ya 273 00:11:33,559 --> 00:11:35,220 Con ese pueda viajar, ¿vale? 274 00:11:35,320 --> 00:11:36,980 Entonces, ¿qué es la información 275 00:11:36,980 --> 00:11:39,059 Que me sirve 276 00:11:39,059 --> 00:11:40,360 En un billete de avión? 277 00:11:44,279 --> 00:11:44,840 Uy 278 00:11:44,840 --> 00:11:47,740 String 279 00:11:47,740 --> 00:11:48,759 Nombre 280 00:11:48,759 --> 00:11:50,799 Dejamos la nombre, ¿vale? 281 00:11:50,860 --> 00:11:53,240 Nombre incluye también los apellidos 282 00:11:53,240 --> 00:11:55,120 Es un identificador, podría poner 283 00:11:55,120 --> 00:11:56,059 DNI, ¿vale? 284 00:11:56,059 --> 00:12:03,559 El número de vuelo 285 00:12:03,559 --> 00:12:11,019 ¿Se puede enlazar? 286 00:12:11,360 --> 00:12:12,539 Ah, perdón, perdón 287 00:12:12,539 --> 00:12:13,399 Hagamos así 288 00:12:13,399 --> 00:12:16,759 Vuelo, vuelo 289 00:12:16,759 --> 00:12:19,059 ¿Lo puede hacer? 290 00:12:20,759 --> 00:12:21,399 Vuelo punto 291 00:12:21,399 --> 00:12:24,279 No recuerdo cómo se llama la variable 292 00:12:24,279 --> 00:12:26,419 Pues doy a asignar a este billete 293 00:12:26,419 --> 00:12:28,659 Un objeto de tipo 294 00:12:28,659 --> 00:12:30,639 Vuelo, para decirle 295 00:12:30,639 --> 00:12:32,679 Oye mira, toda la información del vuelo 296 00:12:32,679 --> 00:12:34,279 Que vas a hacer, pues la encuentras 297 00:12:34,279 --> 00:12:36,799 En este objeto que es un objeto de este tipo 298 00:12:36,799 --> 00:12:38,720 Entonces te encontrarás ahí dentro 299 00:12:38,720 --> 00:12:39,480 Toda esta información 300 00:12:39,480 --> 00:12:45,649 Si yo quiero 301 00:12:45,649 --> 00:12:47,610 Puedes poner vuelo punto en un vuelo 302 00:12:47,610 --> 00:12:49,629 Y encontraré esta cosa aquí 303 00:12:49,629 --> 00:12:51,909 Por ejemplo, si quiero saber de dónde va 304 00:12:51,909 --> 00:12:52,629 A dónde viene 305 00:12:52,629 --> 00:12:54,809 Pues aquí tendré un 306 00:12:54,809 --> 00:12:57,029 Vuelo punto destino 307 00:12:57,029 --> 00:12:58,289 Vuelo punto origen 308 00:12:58,289 --> 00:13:01,470 Si yo asigno a este billete 309 00:13:01,470 --> 00:13:03,429 Un determinado vuelo, sé que es un billete 310 00:13:03,429 --> 00:13:05,230 Para este vuelo 311 00:13:05,230 --> 00:13:07,070 Por ejemplo 312 00:13:07,070 --> 00:13:12,740 Que podría servir también para aquí 313 00:13:12,740 --> 00:13:26,700 Eh, sí, son cosas un poco raras porque aquí 314 00:13:26,700 --> 00:13:30,419 Esto de aquí ya me genera algún tipo de problema 315 00:13:30,419 --> 00:13:34,000 ¿Vale? Pero bueno, ya veremos qué hacemos con él 316 00:13:34,000 --> 00:13:39,139 Eh, el número de asiento nuestro lo queremos gestionar 317 00:13:39,139 --> 00:13:40,820 Hagamos que no 318 00:13:40,820 --> 00:13:43,700 ¿Vale? En el sentido que me da igual 319 00:13:43,700 --> 00:13:46,480 Si me venden un billete es que hay espacio en ese avión 320 00:13:46,480 --> 00:13:48,379 ¿Vale? Luego donde me siento 321 00:13:48,379 --> 00:13:50,200 Ya es relativo 322 00:13:50,200 --> 00:13:59,000 Hay compañías que 323 00:13:59,000 --> 00:14:00,220 Por ejemplo, no permiten 324 00:14:00,220 --> 00:14:03,019 Ha habido un periodo en que ni siquiera creo Ryanair 325 00:14:03,019 --> 00:14:04,480 Te permitía pillar el asiento 326 00:14:04,480 --> 00:14:05,559 Tú entrabas y era 327 00:14:05,559 --> 00:14:08,720 Y era la lucha 328 00:14:08,720 --> 00:14:10,840 ¿Vale? Nosotros estamos ahí 329 00:14:10,840 --> 00:14:11,179 ¿Vale? 330 00:14:12,919 --> 00:14:15,259 ¿Qué más podría interesar en un billete de avión? 331 00:14:16,919 --> 00:14:17,659 El día 332 00:14:17,659 --> 00:14:19,200 La fecha 333 00:14:19,200 --> 00:14:24,639 Pongámosla así 334 00:14:24,639 --> 00:14:27,600 General, ¿vale? 335 00:14:27,799 --> 00:14:28,679 Luego ya 336 00:14:28,679 --> 00:14:30,700 Veremos qué hacemos 337 00:14:30,700 --> 00:14:32,799 Bueno, por ahora lo dejamos así 338 00:14:32,799 --> 00:14:35,899 Veremos si nos sirve algo más 339 00:14:35,899 --> 00:14:37,559 Pues modificaremos estas cosas, ¿vale? 340 00:14:38,440 --> 00:14:39,740 Entonces, public 341 00:14:39,740 --> 00:14:42,940 Billete 342 00:14:42,940 --> 00:14:45,279 De avión 343 00:14:45,279 --> 00:14:47,840 Pilla uno 344 00:14:47,840 --> 00:14:50,759 String nombre 345 00:14:50,759 --> 00:14:56,139 Vuelo 346 00:14:56,139 --> 00:14:59,639 No, vuelo, vuelo, escucha 347 00:14:59,639 --> 00:15:22,950 precios y lo que hace aquí dentro es asignar esto es igual 348 00:15:22,950 --> 00:15:26,539 fecha 349 00:15:26,539 --> 00:15:37,840 precio 350 00:15:37,840 --> 00:15:40,759 es igual a precio 351 00:15:40,759 --> 00:15:43,860 vuelo 352 00:15:43,860 --> 00:15:46,960 es igual a vuelo 353 00:15:46,960 --> 00:15:48,799 nombre 354 00:15:48,799 --> 00:15:50,960 es igual a nombre 355 00:15:50,960 --> 00:15:57,730 punto 356 00:15:57,730 --> 00:16:00,820 vale 357 00:16:00,820 --> 00:16:11,019 no se si he dicho algo raro 358 00:16:11,019 --> 00:16:16,940 porque no me pone los coordines justos 359 00:16:16,940 --> 00:16:18,259 lo descubriremos, vale 360 00:16:18,259 --> 00:16:22,860 Que podemos hacer 361 00:16:22,860 --> 00:16:28,370 Dejamos así también 362 00:16:28,370 --> 00:16:31,649 Hay un error aquí 363 00:16:31,649 --> 00:16:39,450 No sé si el billete de avión 364 00:16:39,450 --> 00:16:41,570 Por si mismo, estos son objetos 365 00:16:41,570 --> 00:16:44,409 Que representan datos 366 00:16:44,409 --> 00:16:47,250 Entonces poco le podemos hacer 367 00:16:47,250 --> 00:16:49,409 Podría hacer 368 00:16:49,409 --> 00:17:38,259 para trabajar le voy a hacer dos constructores distintos, un constructor que no dice nada 369 00:17:38,259 --> 00:17:39,240 De la first class 370 00:17:39,240 --> 00:17:41,539 Entonces asume que automáticamente es falso 371 00:17:41,539 --> 00:17:44,220 Y si en vez quiero que sea 372 00:17:44,220 --> 00:17:45,180 De primera clase 373 00:17:45,180 --> 00:17:46,920 Pues al final 374 00:17:46,920 --> 00:17:48,759 Le pongo 375 00:17:48,759 --> 00:17:54,309 Otro boolean 376 00:17:54,309 --> 00:18:02,160 Se lo puedo pasar o no pasar 377 00:18:02,160 --> 00:18:06,369 Si se lo paso 378 00:18:06,369 --> 00:18:07,390 En automáticamente 379 00:18:07,390 --> 00:18:09,470 Asume que no es primera clase 380 00:18:09,470 --> 00:18:11,789 Si en vez le paso true o false 381 00:18:11,789 --> 00:18:13,750 Pues dirá si es primera clase o 382 00:18:13,750 --> 00:18:15,190 O segunda 383 00:18:15,190 --> 00:18:16,609 O clase económica 384 00:18:16,609 --> 00:18:22,349 ¿Vale? Esto para que veáis que hay dos constructores 385 00:18:22,349 --> 00:18:23,269 Se puede meter constructores 386 00:18:23,269 --> 00:18:25,230 Lo importante de los constructores, si os acordáis 387 00:18:25,230 --> 00:18:31,390 Es que no tengan la misma secuencia de parámetros 388 00:18:31,390 --> 00:18:35,069 ¿Vale? Porque yo en cada momento tengo que saber 389 00:18:35,069 --> 00:18:37,650 Si estoy utilizando este constructor o este constructor 390 00:18:37,650 --> 00:18:42,730 Entonces si a mi constructor le paso estos tipos de valores 391 00:18:42,730 --> 00:18:45,569 Cuatro valores que correspondan a estos tipos 392 00:18:45,569 --> 00:18:47,690 Estoy usando este constructor 393 00:18:47,690 --> 00:18:49,009 Si le paso 5 394 00:18:49,009 --> 00:18:50,730 Correspondientes a estos tipos 395 00:18:50,730 --> 00:18:52,369 Estoy usando este otro constructor 396 00:18:52,369 --> 00:18:55,309 Pero en ningún momento me puedo confundir 397 00:18:55,309 --> 00:18:56,009 ¿Vale? 398 00:18:56,289 --> 00:18:58,710 Si yo quitara este de aquí y hubiera 2 399 00:18:58,710 --> 00:19:00,470 Diría, ¿Cuál de los dos tengo que usar? 400 00:19:01,829 --> 00:19:02,049 ¿Sí? 401 00:19:03,490 --> 00:19:04,049 ¿Dudas? 402 00:19:07,569 --> 00:19:09,849 Vale, entonces vamos a usar estas clases 403 00:19:09,849 --> 00:19:10,609 ¿Vale? 404 00:19:11,710 --> 00:19:17,319 La nueva clase 405 00:19:17,319 --> 00:19:18,779 Que hacemos prueba 406 00:19:18,779 --> 00:19:20,599 Aviones 407 00:19:20,599 --> 00:19:24,519 O agencia 408 00:19:24,519 --> 00:19:29,380 Esta vez le pongo main 409 00:19:29,380 --> 00:19:30,799 ¿Vale? Para que haga algo 410 00:19:30,799 --> 00:19:32,819 ¿Si? Entonces 411 00:19:32,819 --> 00:19:35,619 Primero no hago interacción 412 00:19:35,619 --> 00:19:37,420 Con el usuario ¿Vale? 413 00:19:37,579 --> 00:19:38,660 Me voy a 414 00:19:38,660 --> 00:19:41,420 Gestionar las cosas 415 00:19:41,420 --> 00:19:43,140 Yo y hacer pruebas yo 416 00:19:43,140 --> 00:19:45,200 Luego después cambiamos un poco 417 00:19:45,200 --> 00:19:47,859 Para que yo pueda hablar con el sistema 418 00:19:47,859 --> 00:19:49,420 Que el sistema me responda algo 419 00:19:49,420 --> 00:19:51,200 ¿Vale? Entonces 420 00:19:51,200 --> 00:19:53,140 El primer paso que yo haría 421 00:19:53,140 --> 00:19:54,779 Es crear las conexiones 422 00:19:54,779 --> 00:19:57,079 Es decir, cuáles son los vuelos posibles 423 00:19:57,079 --> 00:19:59,640 Lo hago con el main 424 00:19:59,640 --> 00:20:01,839 Para crearme una serie de vuelos 425 00:20:01,839 --> 00:20:03,079 Es posible que estos vuelos 426 00:20:03,079 --> 00:20:04,700 En la realidad ya me los den hecho 427 00:20:04,700 --> 00:20:06,420 Lo encuentre en una base de datos 428 00:20:06,420 --> 00:20:08,200 Lo vaya a buscar 429 00:20:08,200 --> 00:20:10,559 En un fichero, no lo sé 430 00:20:10,559 --> 00:20:13,019 Pero como no los sabemos usar, me las creo yo 431 00:20:13,019 --> 00:20:15,099 Entonces la primera cosa que hago 432 00:20:15,099 --> 00:20:16,559 Como string es 433 00:20:16,559 --> 00:20:19,420 Crear 434 00:20:19,420 --> 00:20:20,380 Vuelos 435 00:20:20,380 --> 00:20:24,289 Un metodito 436 00:20:24,289 --> 00:20:26,630 Que se llama crear vuelos 437 00:20:26,630 --> 00:20:27,849 Vale 438 00:20:27,849 --> 00:20:31,289 ¿Qué quiero que haga crear vuelos? 439 00:20:36,730 --> 00:20:37,730 No, yo quiero que me cree 440 00:20:37,730 --> 00:20:39,150 Todos los vuelos posibles 441 00:20:39,150 --> 00:20:40,329 ¿Vale? 442 00:20:40,990 --> 00:20:43,109 Sobre el que yo luego jugaré un poco 443 00:20:43,109 --> 00:20:44,849 El concepto es que 444 00:20:44,849 --> 00:20:46,390 ¿Dónde guardo estos vuelos? 445 00:20:46,930 --> 00:20:47,390 ¿Qué hago? 446 00:20:48,109 --> 00:20:49,190 ¿Un objeto, un vuelo solo? 447 00:20:53,099 --> 00:20:53,599 ¿En qué sentido? 448 00:20:57,279 --> 00:20:57,799 ¿Cómo? 449 00:20:58,859 --> 00:21:01,220 Es como guardo una serie de objetos 450 00:21:01,220 --> 00:21:05,740 Como guardaba una serie de string 451 00:21:05,740 --> 00:21:08,440 Por ejemplo 452 00:21:08,440 --> 00:21:10,160 ¿Vale? 453 00:21:10,500 --> 00:21:12,799 Entonces si yo hago que este método de aquí 454 00:21:12,799 --> 00:21:14,099 Sea lo que sea 455 00:21:14,099 --> 00:21:16,339 Me devuelve 456 00:21:16,339 --> 00:21:18,859 Un array de que 457 00:21:18,859 --> 00:21:30,859 ¿Qué hace esta cosa aquí? 458 00:21:31,059 --> 00:21:32,259 Este método de aquí 459 00:21:32,259 --> 00:21:33,799 Que ahora no he creado todavía 460 00:21:33,799 --> 00:21:34,640 Lo tengo que crear 461 00:21:34,640 --> 00:21:37,380 Lo que va a crear es 462 00:21:37,380 --> 00:21:39,839 Una serie de objetos vuelos 463 00:21:39,839 --> 00:21:41,500 Los guardas 464 00:21:41,500 --> 00:21:45,380 Lo guardas en un array de vuelo 465 00:21:45,380 --> 00:21:47,480 Y luego estos array de vuelo 466 00:21:47,480 --> 00:21:48,740 Me los devuelve 467 00:21:48,740 --> 00:21:50,000 Aquí 468 00:21:50,000 --> 00:21:53,099 Entonces a partir de este punto de mi programa 469 00:21:53,099 --> 00:21:54,839 Y asumo que tendré 470 00:21:54,839 --> 00:21:56,279 Un array vuelos 471 00:21:56,279 --> 00:21:58,940 Con dentro todos los vuelos que gestiona 472 00:21:58,940 --> 00:22:00,480 Mi empresa 473 00:22:00,480 --> 00:22:01,420 Mi agencia 474 00:22:01,420 --> 00:22:03,200 ¿Si? 475 00:22:04,539 --> 00:22:06,240 Vale, vamos a hacer 476 00:22:06,240 --> 00:22:09,059 Este método de aquí 477 00:22:09,059 --> 00:22:10,740 Entonces, aquí abajo 478 00:22:10,740 --> 00:22:11,920 Yo hago public 479 00:22:11,920 --> 00:22:15,500 Que tiene que devolver 480 00:22:15,500 --> 00:22:25,049 A ver, aquí 481 00:22:25,049 --> 00:22:27,410 Tatic 482 00:22:27,410 --> 00:22:29,930 Lo pongo o no 483 00:22:29,930 --> 00:22:31,869 Luego tengo que poner 484 00:22:31,869 --> 00:22:33,950 Lo que devuelve 485 00:22:33,950 --> 00:22:37,740 Nombre 486 00:22:37,740 --> 00:22:41,440 Parámetros 487 00:22:41,440 --> 00:22:46,900 ¿Sí? 488 00:22:46,900 --> 00:22:48,480 Así es como declaro 489 00:22:48,480 --> 00:22:52,490 Un método 490 00:22:52,490 --> 00:22:53,109 ¿Vale? 491 00:22:53,230 --> 00:22:54,309 Por ahora esto 492 00:22:54,309 --> 00:22:55,930 Lo dejamos por ahí 493 00:22:55,930 --> 00:22:57,430 ¿Hay que ponerlo estático o no? 494 00:22:57,950 --> 00:22:58,410 Ni idea 495 00:22:58,410 --> 00:23:01,089 ¿Qué devuelve? 496 00:23:02,930 --> 00:23:04,490 ¿Estamos seguros que no devuelve nada? 497 00:23:05,470 --> 00:23:12,339 Tiene que devolver un vuelo 498 00:23:12,339 --> 00:23:13,039 Un vuelo 499 00:23:13,039 --> 00:23:15,240 Tiene que devolver un vuelo 500 00:23:15,240 --> 00:23:19,369 Tiene que devolver un array de vuelos 501 00:23:19,369 --> 00:23:22,569 Si yo pongo esto 502 00:23:22,569 --> 00:23:26,839 Le estoy diciendo 503 00:23:26,839 --> 00:23:28,640 Oye, mira, tú hagas lo que hagas 504 00:23:28,640 --> 00:23:31,779 Al final me tienes que devolver un vuelo 505 00:23:31,779 --> 00:23:32,819 Un objeto vuelo 506 00:23:32,819 --> 00:23:34,460 Pero yo no quiero un objeto vuelo 507 00:23:34,460 --> 00:23:36,720 Quiero un array de vuelos 508 00:23:36,720 --> 00:23:38,440 Entonces, ¿qué le hago? 509 00:23:45,150 --> 00:23:45,490 Ahí está 510 00:23:45,490 --> 00:23:49,700 Esto lo que me está diciendo es 511 00:23:49,700 --> 00:23:51,460 Te devolveré un array de vuelos 512 00:23:51,460 --> 00:23:56,390 ¿Sí? 513 00:23:56,849 --> 00:23:57,730 ¿Cómo se llama? 514 00:24:02,799 --> 00:24:03,880 ¿Qué parámetros pilla? 515 00:24:09,710 --> 00:24:10,190 Ninguno 516 00:24:10,190 --> 00:24:11,950 Que yo sepa ninguno 517 00:24:11,950 --> 00:24:12,470 ¿Vale? 518 00:24:12,569 --> 00:24:14,589 Por lo que quiera hacer con este método, ninguno 519 00:24:14,589 --> 00:24:15,569 ¿Vale? 520 00:24:15,609 --> 00:24:17,309 Y yo no le digo nada, no le paso nada 521 00:24:17,309 --> 00:24:19,869 Y él lo que hará es crearse una serie de vuelos 522 00:24:19,869 --> 00:24:20,730 ¿Sí? 523 00:24:20,849 --> 00:24:22,309 Ahora veremos cómo lo hacemos dentro 524 00:24:22,309 --> 00:24:25,109 Si luego necesitaré que me pasen algunos parámetros 525 00:24:25,109 --> 00:24:27,509 Pues se los pediré y lo pasaré desde aquí 526 00:24:27,509 --> 00:24:28,250 ¿Vale? 527 00:24:28,910 --> 00:24:30,369 Y ahora el problema es 528 00:24:30,369 --> 00:24:32,069 ¿Qué hago? ¿Lo hago estático o no? 529 00:24:33,769 --> 00:24:35,150 A esto se llama crear vuelos 530 00:24:35,150 --> 00:24:39,559 ¿Vale? 531 00:24:42,269 --> 00:24:43,950 Antes de mirar este estático 532 00:24:43,950 --> 00:24:45,809 Sigamos un poquito más 533 00:24:45,809 --> 00:24:48,269 Lo que voy a hacer aquí dentro es 534 00:24:48,269 --> 00:24:50,309 Necesitaré un array de vuelos 535 00:24:50,309 --> 00:25:03,420 ¿Cuántos? 536 00:25:04,559 --> 00:25:05,039 10 537 00:25:05,039 --> 00:25:11,490 Quiero más, quiero menos, esto lo veremos 538 00:25:11,490 --> 00:25:11,930 ¿Vale? 539 00:25:12,349 --> 00:25:13,509 Es para hacer pruebas 540 00:25:13,509 --> 00:25:15,589 Y al final de todo 541 00:25:15,589 --> 00:25:18,130 Antes de acabar, ¿qué tendré que hacer? 542 00:25:23,829 --> 00:25:24,309 ¿Vale? 543 00:25:24,490 --> 00:25:26,210 Entonces, lo que voy a hacer aquí 544 00:25:26,210 --> 00:25:27,809 Es lo siguiente 545 00:25:27,809 --> 00:25:31,029 El main empieza llamando a este método 546 00:25:31,029 --> 00:25:31,789 Crear vuelos 547 00:25:31,789 --> 00:25:32,950 ¿Qué hace este crear vuelos? 548 00:25:33,049 --> 00:25:35,549 Pues me crea un array de vuelos 549 00:25:35,549 --> 00:25:37,490 Lo rellenará 550 00:25:37,490 --> 00:25:39,430 Y al final 551 00:25:39,430 --> 00:25:40,809 Me lo pasa a mí 552 00:25:40,809 --> 00:25:42,509 Y yo lo guardo aquí dentro 553 00:25:42,509 --> 00:25:44,069 Entonces 554 00:25:44,069 --> 00:25:46,569 Sustantemente este método lo que hace es crearme 555 00:25:46,569 --> 00:25:47,650 Un array de vuelos 556 00:25:47,650 --> 00:25:50,470 Que luego yo podré 557 00:25:50,470 --> 00:25:52,069 Acceder desde mi mail 558 00:25:52,069 --> 00:25:56,549 Me da un error 559 00:25:56,549 --> 00:25:57,869 Vamos a ver que error es 560 00:25:57,869 --> 00:26:07,980 No puedo hacer una referencia 561 00:26:07,980 --> 00:26:08,980 Estática 562 00:26:08,980 --> 00:26:10,539 A un método 563 00:26:10,539 --> 00:26:13,859 Al método no estático crear vuelos 564 00:26:13,859 --> 00:26:17,420 Desde el tipo agencia 565 00:26:17,420 --> 00:26:19,859 ¿Qué quiere decir esta cosa? 566 00:26:20,160 --> 00:26:35,170 me dice yo soy estático estoy en un contexto estático vale dentro de agencia desde aquí 567 00:26:35,170 --> 00:26:49,660 no puedo llamar un método que no sea estático cuidado que esto es sutil y es interesante y lo 568 00:26:49,660 --> 00:26:55,960 veremos varias veces antes que lo entendemos os acordáis ayer en los ejemplos que hacíamos 569 00:26:55,960 --> 00:26:58,619 Nosotros cuando llamamos 570 00:26:58,619 --> 00:26:59,960 Un método, por ejemplo 571 00:26:59,960 --> 00:27:01,079 Esto lo llamamos un método 572 00:27:01,079 --> 00:27:02,900 Este método 573 00:27:02,900 --> 00:27:06,460 ¿Era estático o no? 574 00:27:08,769 --> 00:27:09,210 No 575 00:27:09,210 --> 00:27:11,769 Veámoslo 576 00:27:11,769 --> 00:27:13,630 Este método de aquí 577 00:27:13,630 --> 00:27:17,430 No es estático 578 00:27:17,430 --> 00:27:19,529 Oye, pero 579 00:27:19,529 --> 00:27:22,049 Lo estoy llamando desde el main 580 00:27:22,049 --> 00:27:23,910 Que es estático 581 00:27:23,910 --> 00:27:26,150 Entonces, ¿qué diferencia hay 582 00:27:26,150 --> 00:27:34,349 entre este de aquí que está llamando un método no estático con respecto a este 583 00:27:34,349 --> 00:27:38,390 de aquí que está llamando un método estático qué diferencia notáis entre 584 00:27:38,390 --> 00:27:47,579 esto y esto no pero futbolista 585 00:27:47,579 --> 00:27:51,339 Vale, entonces entre esto y 586 00:27:51,339 --> 00:27:53,000 Esto 587 00:27:53,000 --> 00:27:56,480 ¿Dónde está aquí? 588 00:27:56,839 --> 00:27:57,180 Esto 589 00:27:57,180 --> 00:27:59,539 ¿Dónde está? 590 00:27:59,859 --> 00:28:00,599 Acelera, esto 591 00:28:00,599 --> 00:28:02,059 ¿Ahora están en la misma clase? 592 00:28:09,819 --> 00:28:10,119 No 593 00:28:10,119 --> 00:28:15,940 No hay nubos delante 594 00:28:15,940 --> 00:28:16,519 Aquí 595 00:28:16,519 --> 00:28:20,240 Dice entre este 596 00:28:20,240 --> 00:28:23,700 Y este 597 00:28:23,700 --> 00:28:31,630 Ideas 598 00:28:31,630 --> 00:28:45,500 Que este de aquí 599 00:28:45,500 --> 00:28:48,759 Se está llamando 600 00:28:48,759 --> 00:28:50,140 Sobre un objeto 601 00:28:50,140 --> 00:28:52,299 Yo estoy diciendo 602 00:28:52,299 --> 00:28:54,220 Acelera del objeto 603 00:28:54,220 --> 00:28:54,940 Big2 604 00:28:54,940 --> 00:28:57,559 Estoy haciendo hacer 605 00:28:57,559 --> 00:29:00,400 Una acción a este objeto 606 00:29:00,400 --> 00:29:02,559 Entonces no es estático 607 00:29:02,559 --> 00:29:04,519 Es un objeto 608 00:29:04,519 --> 00:29:05,799 Concreto que hace una acción 609 00:29:05,799 --> 00:29:11,319 Sin embargo aquí, crear vuelos, no lo estoy llamando sobre un objeto 610 00:29:11,319 --> 00:29:17,539 Y entonces no es un objeto que crea los vuelos 611 00:29:17,539 --> 00:29:19,559 Es crear los vuelos en general 612 00:29:19,559 --> 00:29:24,440 Es la clase que crea los vuelos, no un objeto concreto que crea los vuelos 613 00:29:24,440 --> 00:29:29,039 Si el método es de clase, es estático 614 00:29:29,039 --> 00:29:35,519 Si el método es de un objeto, no es estático 615 00:29:35,519 --> 00:29:38,440 ¿Puede ser estático ser un objeto o no? 616 00:29:40,039 --> 00:29:40,559 No 617 00:29:40,559 --> 00:29:42,779 Luego depende de qué estás diciendo 618 00:29:42,779 --> 00:29:44,660 ¿Puede un objeto llamar un método estático? 619 00:29:45,339 --> 00:29:45,859 Sí 620 00:29:45,859 --> 00:29:48,559 Dentro de un método 621 00:29:48,559 --> 00:29:50,680 Dentro de un método estático 622 00:29:50,680 --> 00:29:51,660 Puedes llamar un método 623 00:29:51,660 --> 00:29:54,759 Dentro de un método no estático puedes llamar un método estático si quieres 624 00:29:54,759 --> 00:29:56,700 Y al revés, lo hemos visto aquí 625 00:29:56,700 --> 00:29:58,240 La única cosa es que 626 00:29:58,240 --> 00:30:00,039 Si el método que yo tengo 627 00:30:00,039 --> 00:30:02,740 Si el método que yo he hecho 628 00:30:02,740 --> 00:30:03,940 No es estático 629 00:30:03,940 --> 00:30:06,539 Quiere decir que lo tendré que llamar sobre un objeto 630 00:30:06,539 --> 00:30:09,079 Es algo propio de un objeto 631 00:30:09,079 --> 00:30:13,619 Cada instancia ejecutará su propio método 632 00:30:13,619 --> 00:30:17,339 Y tendrá, tendencialmente, resultados distintos 633 00:30:17,339 --> 00:30:19,339 ¿Vale? 634 00:30:20,119 --> 00:30:24,680 Sin embargo, si lo llamo así 635 00:30:24,680 --> 00:30:26,859 O sea, no lo llamo sobre un objeto 636 00:30:26,859 --> 00:30:31,019 Pues entonces es un método que se define como estático 637 00:30:31,019 --> 00:30:32,680 Es un método de clase 638 00:30:32,680 --> 00:30:35,039 ¿Sobre qué objeto se lanza este aquí? 639 00:30:35,160 --> 00:30:35,880 Sobre ninguno 640 00:30:35,880 --> 00:30:38,799 Como no sé sobre qué objeto lanzarlo 641 00:30:38,799 --> 00:30:40,519 Pues no es un objeto normal 642 00:30:40,519 --> 00:30:41,759 Es un estático 643 00:30:41,759 --> 00:30:42,740 ¿Vale? 644 00:30:43,339 --> 00:30:44,160 Grosso modo 645 00:30:44,160 --> 00:30:46,559 Profundizaremos sobre esto más adelante 646 00:30:46,559 --> 00:30:50,500 Por ahora 647 00:30:50,500 --> 00:30:52,799 Sigamos con el ejemplo así 648 00:30:52,799 --> 00:30:55,660 Por ahora simplemente asumir que esto es estático 649 00:30:55,660 --> 00:30:57,640 Porque si lo quito me da un error 650 00:30:57,640 --> 00:30:59,660 Entonces lo dejo 651 00:31:00,799 --> 00:31:01,279 ¿Vale? 652 00:31:01,279 --> 00:31:08,259 La razón de por qué estoy haciendo esto es porque esto no tiene un objeto punto crear vuelos 653 00:31:08,259 --> 00:31:11,420 Entonces sería no estático 654 00:31:11,420 --> 00:31:16,799 Como este de aquí es un objeto, es un método que se llama desde aquí 655 00:31:16,799 --> 00:31:19,059 Es como una función de la que veíamos antes 656 00:31:19,059 --> 00:31:24,519 Las funciones y procedimientos son parecidos a los métodos estáticos 657 00:31:24,519 --> 00:31:28,960 De hecho cuando nosotros habíamos visto las funciones y los procedimientos 658 00:31:28,960 --> 00:31:31,519 Todos los ejemplos que hemos hecho hemos siempre puesto static 659 00:31:31,519 --> 00:31:35,140 Es desde que hemos introducido los objetos 660 00:31:35,140 --> 00:31:37,160 Que hemos quitado el static 661 00:31:37,160 --> 00:31:39,640 ¿Si? 662 00:31:40,339 --> 00:31:41,920 Un método static 663 00:31:41,920 --> 00:31:45,319 Es algo que es siempre igual 664 00:31:45,319 --> 00:31:46,660 Para toda la clase 665 00:31:46,660 --> 00:31:48,200 No depende de un objeto 666 00:31:48,200 --> 00:31:51,619 Mientras que un método sin static 667 00:31:51,619 --> 00:31:53,640 Depende del propio objeto 668 00:31:53,640 --> 00:31:54,420 ¿Vale? 669 00:31:54,420 --> 00:31:56,660 Si yo llamo cambia posición 670 00:31:56,660 --> 00:31:58,859 Sobre el objeto A o sobre el objeto B 671 00:31:58,859 --> 00:32:02,380 Cambiaré la posición del objeto A o del objeto B 672 00:32:02,380 --> 00:32:03,059 ¿No? De los dos 673 00:32:03,059 --> 00:32:06,500 Entonces, dependiendo de quién llama este método 674 00:32:06,500 --> 00:32:09,039 El resultado es distinto 675 00:32:09,039 --> 00:32:11,140 ¿Sí? 676 00:32:11,519 --> 00:32:13,539 Después hacemos más ejemplos sobre esto 677 00:32:13,539 --> 00:32:15,539 Con un ejemplo matemático 678 00:32:15,539 --> 00:32:16,859 Para clarificar 679 00:32:16,859 --> 00:32:19,500 Por ahora simplemente tenemos esto 680 00:32:19,500 --> 00:32:21,160 Vale, entonces yo tengo un método aquí 681 00:32:21,160 --> 00:32:24,140 Que lo que hace es crearme los vuelos 682 00:32:24,140 --> 00:32:25,200 Y luego los tendré aquí 683 00:32:25,200 --> 00:32:26,539 A partir de ahora los puedo utilizar 684 00:32:26,539 --> 00:32:28,799 Vamos a implementar bien este vuelo 685 00:32:28,799 --> 00:32:29,779 ¿Qué quiero hacer? 686 00:32:29,880 --> 00:32:33,299 Pues aquí quiero crear 10 vuelos 687 00:32:33,299 --> 00:32:35,940 Para que luego los pueda utilizar 688 00:32:35,940 --> 00:32:37,640 ¿Vale? 689 00:32:38,200 --> 00:32:38,799 Entonces 690 00:32:38,799 --> 00:32:43,599 Lo voy a crear manualmente 691 00:32:43,599 --> 00:32:43,920 ¿Vale? 692 00:32:43,940 --> 00:32:46,460 Para tener una base sobre lo que hago jugar 693 00:32:46,460 --> 00:32:46,819 ¿Vale? 694 00:32:46,940 --> 00:32:47,680 Sobre qué jugar 695 00:32:47,680 --> 00:32:48,960 Entonces voy a crear 696 00:32:48,960 --> 00:32:51,539 Un vuelo de posición 0 697 00:32:51,539 --> 00:32:53,119 Por ejemplo, ¿qué pongo? 698 00:32:53,740 --> 00:32:55,380 ¿Cómo creo un nuevo objeto vuelo? 699 00:32:55,380 --> 00:33:01,710 ¿Cómo lo creo? 700 00:33:09,779 --> 00:33:10,460 ¿Qué escribo? 701 00:33:13,059 --> 00:33:13,819 ¿Qué escribo? 702 00:33:16,339 --> 00:33:18,240 Necesito una referencia, ya la tengo 703 00:33:18,240 --> 00:33:19,220 ¿Ves esto? 704 00:33:19,380 --> 00:33:22,779 Esto es como haber puesto vuelo x es igual 705 00:33:22,779 --> 00:33:25,059 Pues en vez de ponerlo en la variable x 706 00:33:25,059 --> 00:33:27,400 Lo estoy poniendo en la posición 0 707 00:33:27,400 --> 00:33:28,980 De este array de 10 posiciones 708 00:33:28,980 --> 00:33:31,039 New 709 00:33:31,039 --> 00:33:34,539 Vuelo 710 00:33:34,539 --> 00:33:38,480 Si quiero crear un nuevo objeto 711 00:33:38,480 --> 00:33:39,640 Necesito la new 712 00:33:39,640 --> 00:33:41,059 ¿Vale? 713 00:33:42,279 --> 00:33:44,940 Vuelo es el constructor que tenía aquí 714 00:33:44,940 --> 00:33:46,240 ¿Vale? 715 00:33:46,559 --> 00:33:48,299 Entonces, el vuelo pilla 716 00:33:48,299 --> 00:33:50,079 Todas estas cosas de aquí 717 00:33:50,079 --> 00:33:50,900 ¿Vale? 718 00:33:51,440 --> 00:33:55,140 Entonces, compañía en un vuelo, destino y origen 719 00:33:55,140 --> 00:33:58,680 Creo que hay amantes del destino y del origen 720 00:33:58,680 --> 00:33:59,279 Pero da igual 721 00:33:59,279 --> 00:34:05,000 Gracias 722 00:34:05,000 --> 00:34:07,259 Entonces, compañía 723 00:34:07,259 --> 00:34:08,659 ¿Qué compañía tiene? 724 00:34:09,639 --> 00:34:11,440 Ahí está 725 00:34:11,440 --> 00:34:12,760 ¿Qué es? 726 00:34:13,179 --> 00:34:14,159 Que ponemos otra 727 00:34:14,159 --> 00:34:18,170 Venga 728 00:34:18,170 --> 00:34:19,110 ¿Qué más? 729 00:34:19,510 --> 00:34:20,429 Número 730 00:34:20,429 --> 00:34:23,530 ¿Cómo me da? 731 00:34:24,269 --> 00:34:25,110 Origen 732 00:34:25,110 --> 00:34:31,500 Destino 733 00:34:31,500 --> 00:34:37,570 Ya está 734 00:34:37,570 --> 00:34:38,829 Este es uno 735 00:34:38,829 --> 00:34:40,670 ¿Vale? 736 00:34:40,969 --> 00:34:45,710 Lo que estoy haciendo es crear las conexiones de posibles aviones que hay 737 00:34:45,710 --> 00:34:47,190 Para luego poder jugar con ellas 738 00:34:47,190 --> 00:34:47,789 ¿Vale? 739 00:34:48,349 --> 00:34:48,789 Entonces 740 00:34:48,789 --> 00:34:52,190 ¿Lo podría esto automatizar? 741 00:34:52,349 --> 00:34:52,550 Sí 742 00:34:52,550 --> 00:34:53,150 Ahora 743 00:34:53,150 --> 00:34:57,130 Requeriría un poquito de trabajo, ¿vale? 744 00:35:00,380 --> 00:35:00,920 Entonces 745 00:35:00,920 --> 00:35:02,360 El 1 746 00:35:02,360 --> 00:35:04,739 El 2 747 00:35:04,739 --> 00:35:05,820 El 3 748 00:35:05,820 --> 00:35:06,860 Y el 4 749 00:35:06,860 --> 00:35:09,219 Hacemos que son 5 solas 750 00:35:09,219 --> 00:35:10,420 Porque si no me aburro 751 00:35:10,420 --> 00:35:12,980 Y cambiamos un poco cosas así 752 00:35:12,980 --> 00:35:15,000 Este es FR 753 00:35:15,000 --> 00:35:16,840 Esto es ahí 754 00:35:16,840 --> 00:35:18,800 Esto es 755 00:35:18,800 --> 00:35:20,320 Así 756 00:35:20,320 --> 00:35:28,179 este aquí cambió así 1 2 757 00:35:28,179 --> 00:35:36,340 entonces tenemos madrid pisa tenemos para madrid de roma tenemos 758 00:35:36,340 --> 00:35:45,730 pisa madrid y tenemos 759 00:35:45,730 --> 00:35:49,789 roma pisa 760 00:35:49,789 --> 00:36:02,719 que no y tenemos roma madrid es para dejarlo sencillo 761 00:36:02,719 --> 00:36:09,679 vale porque si no luego puede haber caos entonces tengo varios porque os 762 00:36:09,679 --> 00:36:14,760 recuerdo que por algo que nosotros somos malvados esta es la origen 763 00:36:14,760 --> 00:36:22,199 y este es el destino porque porque yo así lo he declarado 764 00:36:23,079 --> 00:36:23,760 dónde está 765 00:36:25,519 --> 00:36:27,639 Antes el destino y luego el origen 766 00:36:27,639 --> 00:36:29,719 Si cambiara 767 00:36:29,719 --> 00:36:31,260 Esto, origen y destino 768 00:36:31,260 --> 00:36:32,019 Pues a lo mejor 769 00:36:32,019 --> 00:36:33,920 Origen 770 00:36:33,920 --> 00:36:35,920 Destino 771 00:36:35,920 --> 00:36:38,239 Somos menos simpáticos 772 00:36:38,239 --> 00:36:39,340 Destino 773 00:36:39,340 --> 00:36:43,260 ¿Vale? Más lógico para nosotros pensarlo así 774 00:36:43,260 --> 00:36:44,519 Que luego nos confundimos 775 00:36:44,519 --> 00:36:46,960 Vale, ahora este es el origen y este es el destino 776 00:36:46,960 --> 00:36:51,340 ¿Vale? Y con esto he creado 777 00:36:51,340 --> 00:36:53,400 Una red de 5 posibles 778 00:36:53,400 --> 00:36:54,760 Vuelos, ¿vale? 779 00:36:54,760 --> 00:36:56,420 Que luego pasaré aquí 780 00:36:56,420 --> 00:36:58,880 Ahora, aquí dentro hay estos cinco objetos 781 00:36:58,880 --> 00:37:01,179 ¿Vale? Son cinco objetos distintos 782 00:37:01,179 --> 00:37:04,940 ¿Sí? 783 00:37:06,199 --> 00:37:06,800 Vale 784 00:37:06,800 --> 00:37:09,940 ¿Qué vamos a hacer ahora con esto? 785 00:37:10,300 --> 00:37:11,500 Pues la idea es que 786 00:37:11,500 --> 00:37:14,219 Vamos a pedir al usuario, por ejemplo 787 00:37:14,219 --> 00:37:17,559 Dónde quiere viajar o de dónde sale 788 00:37:17,559 --> 00:37:21,000 Y le decimos las posibilidades de dónde puede viajar 789 00:37:21,000 --> 00:37:22,539 ¿Sí? 790 00:37:23,000 --> 00:37:24,440 Entonces habrá un string 791 00:37:24,440 --> 00:37:25,639 Origen 792 00:37:25,639 --> 00:37:29,360 Que por ahora la fijo 793 00:37:29,360 --> 00:37:30,619 Luego la preguntaré al usuario 794 00:37:30,619 --> 00:37:32,340 ¿Vale? Madrid 795 00:37:32,340 --> 00:37:36,039 ¿Sí? 796 00:37:36,039 --> 00:37:37,920 Ahora, ¿cómo hago? 797 00:37:38,280 --> 00:37:40,159 Hacerle decir al 798 00:37:40,159 --> 00:37:43,159 Al sistema 799 00:37:43,159 --> 00:37:45,320 Todos los posibles destinos 800 00:37:45,320 --> 00:37:46,519 Desde Madrid 801 00:37:46,519 --> 00:37:53,659 Los posibles destinos 802 00:37:54,239 --> 00:37:55,119 Desde 803 00:37:55,119 --> 00:37:58,699 Origen 804 00:37:58,699 --> 00:38:05,440 Son 805 00:38:05,440 --> 00:38:10,420 ¿Cómo lo hago? 806 00:38:10,420 --> 00:38:24,519 muestra vuelos 807 00:38:24,519 --> 00:38:28,190 muestra destinos 808 00:38:28,190 --> 00:38:32,900 vamos a hacer 809 00:38:32,900 --> 00:38:33,840 otro 810 00:38:33,840 --> 00:38:36,380 que pongo 811 00:38:36,380 --> 00:38:39,559 public 812 00:38:39,559 --> 00:38:42,300 static 813 00:38:42,300 --> 00:38:49,489 muestra 814 00:38:49,489 --> 00:38:51,690 destino 815 00:38:51,690 --> 00:38:55,840 que necesito para poder 816 00:38:55,840 --> 00:38:56,800 mostrar los destinos 817 00:38:56,800 --> 00:39:02,469 ah, eh, espera 818 00:39:02,469 --> 00:39:04,050 que devuelvo, perdón 819 00:39:04,050 --> 00:39:12,199 Puedo devolver un string y luego imprimirla 820 00:39:12,199 --> 00:39:13,420 O puedo que imprima directamente 821 00:39:13,420 --> 00:39:16,659 Haré que imprime directamente 822 00:39:16,659 --> 00:39:17,860 Que así le dejo un void 823 00:39:17,860 --> 00:39:18,519 ¿Vale? 824 00:39:19,460 --> 00:39:21,139 ¿Qué necesito para que funcione? 825 00:39:23,920 --> 00:39:24,719 Se enfada porque 826 00:39:24,719 --> 00:39:30,789 Lo he escrito mal 827 00:39:30,789 --> 00:39:33,010 Nuestra destino 828 00:39:33,010 --> 00:39:35,610 Muy bien, ahora 829 00:39:35,610 --> 00:39:37,750 ¿Qué necesito? 830 00:39:43,630 --> 00:39:44,170 El array 831 00:39:44,170 --> 00:39:53,119 Y ¿qué más? 832 00:39:54,539 --> 00:39:55,500 El string origin 833 00:39:55,500 --> 00:40:02,070 Pásame todos los vuelos posibles 834 00:40:02,070 --> 00:40:03,469 Y el origen 835 00:40:03,469 --> 00:40:05,329 Y yo te voy a escribir desde este origen 836 00:40:05,329 --> 00:40:05,989 Donde puedes ir 837 00:40:05,989 --> 00:40:10,929 Entonces cuando lo llamo aquí 838 00:40:10,929 --> 00:40:12,409 ¿Qué le tengo que pasar? 839 00:40:16,179 --> 00:40:16,699 Vuelos 840 00:40:16,699 --> 00:40:20,079 Origen 841 00:40:20,079 --> 00:40:26,639 Este 842 00:40:26,639 --> 00:40:29,300 Array de aquí, que es este de aquí 843 00:40:29,300 --> 00:40:31,539 Que contiene todas las posibles conexiones 844 00:40:31,539 --> 00:40:33,159 Será esto 845 00:40:33,159 --> 00:40:33,800 Aquí dentro 846 00:40:33,800 --> 00:40:37,320 Y mi origen, que en este caso 847 00:40:37,320 --> 00:40:39,099 en Madrid, luego la pediré al usuario 848 00:40:39,099 --> 00:40:40,300 será esta aquí 849 00:40:40,300 --> 00:40:43,239 ¿si o no? 850 00:40:44,300 --> 00:40:45,480 entonces ¿qué hago ahora? 851 00:40:48,780 --> 00:40:49,199 for 852 00:40:49,199 --> 00:40:54,030 int igual a cero 853 00:40:54,030 --> 00:40:57,230 y menor que 854 00:40:57,230 --> 00:40:59,610 vuelo 855 00:40:59,610 --> 00:41:01,409 v punto 856 00:41:01,409 --> 00:41:02,550 lenght 857 00:41:02,550 --> 00:41:05,550 y más más 858 00:41:05,550 --> 00:41:14,929 si 859 00:41:14,929 --> 00:41:17,530 v 860 00:41:17,530 --> 00:41:21,190 v de i 861 00:41:21,190 --> 00:41:32,800 Punto destino 862 00:41:32,800 --> 00:41:36,880 Origen 863 00:41:36,880 --> 00:41:41,260 Es igual 864 00:41:41,260 --> 00:41:46,599 Punto equals 865 00:41:46,599 --> 00:41:56,699 Ya me las quitó él 866 00:41:56,699 --> 00:42:00,400 Entonces, ¿qué hago? 867 00:42:16,880 --> 00:42:17,099 ¿Sí? 868 00:42:18,400 --> 00:42:21,159 Voy recorriendo todos estos arrays de aquí 869 00:42:21,159 --> 00:42:22,000 ¿Dónde están? Aquí 870 00:42:22,000 --> 00:42:23,900 Todo este array de aquí, ¿vale? 871 00:42:24,800 --> 00:42:26,360 Si la origen 872 00:42:26,360 --> 00:42:29,760 Es igual a esto que me has dado tú 873 00:42:29,760 --> 00:42:32,119 En este caso sale Madrid 874 00:42:32,119 --> 00:42:33,699 O sea, si Madrid es igual a Madrid 875 00:42:33,699 --> 00:42:36,440 Entonces escríbeme el destino 876 00:42:36,440 --> 00:42:38,260 Entonces me escribirás Pisa 877 00:42:38,260 --> 00:42:40,260 ¿Este es igual? Sí 878 00:42:40,260 --> 00:42:41,159 Entonces escríbeme Roma 879 00:42:41,159 --> 00:42:43,639 ¿Este es igual? No, no escribo nada 880 00:42:43,639 --> 00:42:45,260 ¿Este es igual? No, no escribo nada 881 00:42:45,260 --> 00:42:46,880 ¿Este es igual? No, no escribo nada 882 00:42:46,880 --> 00:42:50,460 Y al final habré escrito o Pisa o Roma 883 00:42:50,460 --> 00:42:52,980 Que son los dos destinos al que puedo llegar 884 00:42:52,980 --> 00:42:53,960 Desde Madrid 885 00:42:53,960 --> 00:42:55,659 ¿Sí o no? 886 00:42:57,860 --> 00:42:58,519 ¿Sí o no? 887 00:42:58,519 --> 00:43:00,119 Lo repito 888 00:43:00,119 --> 00:43:03,449 Lo repito 889 00:43:03,449 --> 00:43:06,710 Entonces, lo que estoy haciendo es 890 00:43:06,710 --> 00:43:07,929 Yo tengo 891 00:43:07,929 --> 00:43:09,710 Este array que he creado 892 00:43:09,710 --> 00:43:11,150 Que tiene cinco posiciones 893 00:43:11,150 --> 00:43:12,670 Que son estos cinco objetos 894 00:43:12,670 --> 00:43:15,550 Dentro de estos objetos 895 00:43:15,550 --> 00:43:17,489 Este es el origen, este es el destino 896 00:43:17,489 --> 00:43:20,070 Entonces lo que estoy haciendo yo es 897 00:43:20,070 --> 00:43:22,510 Por un índice 898 00:43:22,510 --> 00:43:23,789 Y que recorre 899 00:43:23,789 --> 00:43:25,230 Todos estos valores de aquí 900 00:43:25,230 --> 00:43:27,409 Vete a ese índice de allí 901 00:43:27,409 --> 00:43:28,750 Por ejemplo estamos en cero 902 00:43:28,750 --> 00:43:29,949 Vete a v de cero 903 00:43:29,949 --> 00:43:37,590 Vete a mirar la variable origen de esta posición 904 00:43:37,590 --> 00:43:42,309 Entonces me voy a v de 0, me voy a origen y encuentro esto 905 00:43:42,309 --> 00:43:50,539 Si esto es igual a lo que me has dado tú 906 00:43:50,539 --> 00:43:57,699 Entonces escribe por pantalla lo que hay en destino 907 00:43:57,699 --> 00:43:58,800 O sea esto 908 00:43:58,800 --> 00:44:02,079 Si no, no 909 00:44:03,719 --> 00:44:07,079 Cuidado con esto, punto origen, punto equals, ¿vale? 910 00:44:07,400 --> 00:44:09,739 Esto sería igual a ponerlo así. 911 00:44:12,829 --> 00:44:17,010 Si estoy de aquí, punto origen, porque es un objeto, 912 00:44:18,190 --> 00:44:21,110 o sea, estoy en un objeto, entonces cuando accedo a esto, ¿vale? 913 00:44:21,110 --> 00:44:26,190 Estoy aquí, tengo mucha información, de esta información accedo a este campo, 914 00:44:26,409 --> 00:44:28,670 al campo que se llama origen, ¿vale? 915 00:44:29,030 --> 00:44:32,329 Si este es igual, igual a lo que me has dicho tú de buscar, 916 00:44:32,989 --> 00:44:35,550 pues entonces escribo su correspondiente destino. 917 00:44:35,610 --> 00:44:40,329 Solo que os recuerdo que cuando hay un string por un lado 918 00:44:40,329 --> 00:44:42,070 Lo veis todos que este es un string 919 00:44:42,070 --> 00:44:45,329 Porque si yo accedo a esto 920 00:44:45,329 --> 00:44:46,829 ¿Qué es esto? ¿Qué tipo es esto? 921 00:44:52,840 --> 00:44:54,480 VDI, ¿qué tipo tiene? 922 00:45:04,539 --> 00:45:06,500 ¿Qué ha metido dentro de VDI? 923 00:45:07,400 --> 00:45:13,289 ¿Un objeto? ¿De qué tipo es ese objeto? 924 00:45:15,840 --> 00:45:18,219 Por lo tanto, este señor, ¿qué tipo tiene? 925 00:45:19,920 --> 00:45:20,480 Vuelo 926 00:45:20,480 --> 00:45:24,559 De hecho, si yo voy a ver el tipo vuelo, ¿vale? 927 00:45:24,559 --> 00:45:26,380 La clase vuelo que me define su tipo 928 00:45:26,380 --> 00:45:28,940 Sé que cualquier objeto de tipo vuelo 929 00:45:28,940 --> 00:45:32,119 Luego dentro tiene todas estas cosas aquí a las que puedo acceder 930 00:45:32,119 --> 00:45:35,360 Y entonces de todas las cosas que yo pueda acceder 931 00:45:35,360 --> 00:45:39,320 Voy a acceder al campo origen 932 00:45:39,320 --> 00:45:43,019 Fijaos que si yo hago esto 933 00:45:43,019 --> 00:45:47,260 Aquí él me dice, vale, muy bien 934 00:45:47,260 --> 00:45:48,960 ¿A qué quieres acceder? 935 00:45:48,960 --> 00:45:53,000 Y entre las varias cosas que puede tener un objeto vuelo 936 00:45:53,000 --> 00:45:57,539 Tiene origen, destino, compañía, número vuelo, asiento disponible 937 00:45:57,539 --> 00:46:00,400 ¿Sí o no? 938 00:46:00,980 --> 00:46:01,579 Vale 939 00:46:01,579 --> 00:46:04,019 Entonces yo accedo a este campo de aquí 940 00:46:04,019 --> 00:46:04,659 Origen 941 00:46:04,659 --> 00:46:10,829 Ahora tengo que comprobar si lo que he seleccionado 942 00:46:10,829 --> 00:46:12,349 La origen de este vuelo 943 00:46:12,349 --> 00:46:13,269 ¿Vale? 944 00:46:13,809 --> 00:46:16,829 Es igual a la origen que me han dado aquí 945 00:46:16,829 --> 00:46:18,570 Entonces 946 00:46:18,570 --> 00:46:21,409 Me saldría de ponerle el igual igual 947 00:46:21,409 --> 00:46:23,730 Pero no puedo ponerle el igual igual 948 00:46:23,730 --> 00:46:25,690 Porque cuando se comparan 949 00:46:25,690 --> 00:46:26,369 Dos strings 950 00:46:26,369 --> 00:46:28,210 No se compara con igual igual 951 00:46:28,210 --> 00:46:29,809 Se compara con 952 00:46:29,809 --> 00:46:31,909 Punto equals 953 00:46:31,909 --> 00:46:34,789 Este es un método 954 00:46:34,789 --> 00:46:37,030 ¿De qué clase? 955 00:46:41,570 --> 00:46:43,289 Pregunta para vosotros 956 00:46:43,289 --> 00:46:44,769 ¿Dónde está 957 00:46:44,769 --> 00:46:46,809 Definido este método de aquí? 958 00:46:52,130 --> 00:46:52,349 Sí 959 00:46:52,349 --> 00:46:55,050 ¿Pero a qué clase pertenece? 960 00:46:55,050 --> 00:46:56,809 O sea, cuando yo llamo este de aquí 961 00:46:56,809 --> 00:47:00,469 ¿En qué clase busco para este método? 962 00:47:01,909 --> 00:47:02,389 String 963 00:47:02,389 --> 00:47:04,769 Porque lo estoy llamando sobre un string 964 00:47:04,769 --> 00:47:06,690 ¿Vale? 965 00:47:07,050 --> 00:47:09,250 Entonces, en realidad este señor de aquí 966 00:47:09,250 --> 00:47:11,650 No pertenece a string 967 00:47:11,650 --> 00:47:13,769 Si no me equivoco, pertenece a object 968 00:47:13,769 --> 00:47:14,829 A object 969 00:47:14,829 --> 00:47:16,349 Pero no sabemos qué es 970 00:47:16,349 --> 00:47:20,150 Pero yo iré a mirar la implementación de string 971 00:47:20,150 --> 00:47:21,230 Porque estoy haciendo 972 00:47:21,230 --> 00:47:23,130 Lo estoy llamando sobre un objeto 973 00:47:23,130 --> 00:47:24,690 ¿Qué objeto es? 974 00:47:24,690 --> 00:47:25,969 Sobre el que lo estoy llamando 975 00:47:25,969 --> 00:47:28,630 Este objeto 976 00:47:28,630 --> 00:47:33,340 Porque este señor de aquí 977 00:47:33,340 --> 00:47:34,719 Si va a mirar que es 978 00:47:34,719 --> 00:47:37,849 Su string 979 00:47:37,849 --> 00:47:39,630 String es un objeto 980 00:47:39,630 --> 00:47:42,550 Entonces 981 00:47:42,550 --> 00:47:43,809 En la 982 00:47:43,809 --> 00:47:47,070 Definición de string 983 00:47:47,070 --> 00:47:48,389 En la clase string 984 00:47:48,389 --> 00:47:51,170 Estará definido el objeto equals 985 00:47:51,170 --> 00:47:52,989 Y yo llamo 986 00:47:52,989 --> 00:47:54,150 Un objeto 987 00:47:54,150 --> 00:47:55,690 Punto equals 988 00:47:55,690 --> 00:47:57,750 Que lo veo mal 989 00:47:57,750 --> 00:47:59,010 Lo hago por pasos 990 00:47:59,010 --> 00:48:00,309 String 991 00:48:00,309 --> 00:48:10,760 Un posible origen 992 00:48:10,760 --> 00:48:11,300 ¿Cómo se llama? 993 00:48:11,599 --> 00:48:12,119 O1 994 00:48:12,119 --> 00:48:12,679 O 995 00:48:12,679 --> 00:48:13,780 O 996 00:48:13,780 --> 00:48:15,260 ¿Sí? 997 00:48:15,519 --> 00:48:17,480 Es igual a esta cosa aquí 998 00:48:17,480 --> 00:48:26,739 Y si esta cosa de aquí 999 00:48:26,739 --> 00:48:28,519 Es igual a 1000 00:48:28,519 --> 00:48:28,800 O 1001 00:48:28,800 --> 00:48:31,800 Así lo veis mejor 1002 00:48:31,800 --> 00:48:36,400 Primero hacer al vuelo 1003 00:48:36,400 --> 00:48:36,639 Mira 1004 00:48:36,639 --> 00:48:38,940 Todavía más por pasos 1005 00:48:38,940 --> 00:48:41,400 Vuelo, mi vuelo 1006 00:48:41,400 --> 00:48:43,119 Es igual a 1007 00:48:43,119 --> 00:48:43,880 V de Y 1008 00:48:43,880 --> 00:48:50,510 Mi vuelo 1009 00:48:50,510 --> 00:48:55,460 Esto lo está haciendo pasito a pasito 1010 00:48:55,460 --> 00:48:57,840 Primero acedo a la posición 1011 00:48:57,840 --> 00:48:59,380 Y de la array 1012 00:48:59,380 --> 00:49:01,579 Y me saco un objeto vuelo 1013 00:49:01,579 --> 00:49:03,739 Vale, lo tengo aquí, este es un objeto vuelo 1014 00:49:03,739 --> 00:49:06,139 Vale, desde este objeto vuelo 1015 00:49:06,139 --> 00:49:07,599 Acedo a su 1016 00:49:07,599 --> 00:49:08,900 Atributo origen 1017 00:49:08,900 --> 00:49:11,880 Que es un string, y me lo guardo en un string 1018 00:49:11,880 --> 00:49:13,059 Vale, lo tengo aquí 1019 00:49:13,059 --> 00:49:14,840 Si ahora este origen 1020 00:49:14,840 --> 00:49:17,739 Es igual a la que me has dado tú 1021 00:49:17,739 --> 00:49:19,739 Entonces 1022 00:49:19,739 --> 00:49:22,880 Aquí podría poner 1023 00:49:22,880 --> 00:49:24,179 Ory 1024 00:49:24,179 --> 00:49:25,480 No, mi vuelo 1025 00:49:25,480 --> 00:49:32,039 Entonces accede a este objeto de aquí 1026 00:49:32,039 --> 00:49:33,320 Que estabas considerando 1027 00:49:33,320 --> 00:49:34,900 Y mira su destino 1028 00:49:34,900 --> 00:49:38,960 ¿Sí? 1029 00:49:39,960 --> 00:49:42,340 Estos todos divididos pasito a pasito 1030 00:49:42,340 --> 00:49:44,880 Pero claro, no lo necesito hacer así 1031 00:49:44,880 --> 00:49:46,420 ¿Vale? 1032 00:49:47,679 --> 00:49:48,860 Y entonces ¿Cómo lo hago? 1033 00:49:55,619 --> 00:50:04,829 V de I 1034 00:50:04,829 --> 00:50:06,590 Esto 1035 00:50:06,590 --> 00:50:09,170 ¿Sí? 1036 00:50:09,530 --> 00:50:10,590 Que sería esto 1037 00:50:10,590 --> 00:50:12,710 Entonces, punto origen 1038 00:50:12,710 --> 00:50:16,750 Todo esto 1039 00:50:16,750 --> 00:50:19,170 Es esta cosa aquí 1040 00:50:19,170 --> 00:50:20,550 ¿Vale? 1041 00:50:21,889 --> 00:50:23,469 Punto equals 1042 00:50:23,469 --> 00:50:26,110 O, entonces accede a 1043 00:50:26,110 --> 00:50:27,630 V de I 1044 00:50:27,630 --> 00:50:30,949 Estas dos cosas hacen la misma 1045 00:50:30,949 --> 00:50:32,269 Hacen lo mismo, ¿vale? 1046 00:50:32,269 --> 00:50:33,769 Solo que esto lo va 1047 00:50:33,769 --> 00:50:36,650 Descomponiendo el acceso 1048 00:50:36,650 --> 00:50:37,309 A los varios 1049 00:50:37,309 --> 00:50:40,630 Objetos, trocito a trocito 1050 00:50:40,630 --> 00:50:42,590 Mientras que este de aquí 1051 00:50:42,590 --> 00:50:43,230 Lo hace de golpe 1052 00:50:43,230 --> 00:50:47,769 Así es como se usa 1053 00:50:47,769 --> 00:50:49,409 Así no 1054 00:50:49,409 --> 00:50:52,900 Dudas 1055 00:50:52,900 --> 00:50:59,679 Entonces, este de aquí lo hace para todos 1056 00:50:59,679 --> 00:51:01,380 Estos vuelos de aquí 1057 00:51:01,380 --> 00:51:02,840 Y me saca 1058 00:51:02,840 --> 00:51:05,119 Solo los destinos 1059 00:51:05,119 --> 00:51:07,460 Cuyo origen 1060 00:51:07,460 --> 00:51:08,179 Sea Madrid 1061 00:51:08,179 --> 00:51:13,039 Vamos a ver si funciona 1062 00:51:13,039 --> 00:51:20,940 Los posibles destinos 1063 00:51:20,940 --> 00:51:22,599 Desde Madrid son Pisa 1064 00:51:22,599 --> 00:51:23,659 Y Roma 1065 00:51:23,659 --> 00:51:32,829 Entonces yo ahora 1066 00:51:32,829 --> 00:51:33,949 Pediré al usuario 1067 00:51:33,949 --> 00:51:35,210 Elige un destino 1068 00:51:35,210 --> 00:51:40,349 Y él lo pondré 1069 00:51:40,349 --> 00:51:42,289 Dentro de destino 1070 00:51:42,289 --> 00:51:50,579 Luego se lo preguntará a él 1071 00:51:50,579 --> 00:51:52,699 Pero por ahora voy a poner aquí 1072 00:51:52,699 --> 00:51:54,239 Yo directamente los valores 1073 00:51:54,239 --> 00:51:55,679 Para hacer pruebas 1074 00:51:55,679 --> 00:51:57,139 Porque así cada vez que 1075 00:51:57,139 --> 00:52:00,760 Lanzo el programa, no tengo que escribir nada 1076 00:52:00,760 --> 00:52:01,420 Se prueba 1077 00:52:01,420 --> 00:52:02,820 ¿Vale? 1078 00:52:03,320 --> 00:52:06,260 Si cada vez me dice, ¿de dónde vienes? 1079 00:52:06,320 --> 00:52:07,920 De Madrid, tengo que escribir Madrid 1080 00:52:07,920 --> 00:52:10,619 ¿De dónde vas? Pues pisa, pues tardo mucho tiempo 1081 00:52:10,619 --> 00:52:11,579 ¿Sí? 1082 00:52:16,289 --> 00:52:16,650 Vale 1083 00:52:16,650 --> 00:52:20,070 Entonces, ¿qué hago ahora? 1084 00:52:27,900 --> 00:52:29,239 La origen ya la tengo 1085 00:52:29,239 --> 00:52:31,360 Tengo origen y destino 1086 00:52:31,360 --> 00:52:32,920 Billete 1087 00:52:32,920 --> 00:52:37,239 ¿Por qué tengo que mostrar el origen? 1088 00:52:37,280 --> 00:52:38,039 La origen ya la sé 1089 00:52:38,039 --> 00:52:43,380 No lo sé, decidme vosotros 1090 00:52:43,380 --> 00:52:45,860 Soy una agencia, viene un señor 1091 00:52:45,860 --> 00:52:48,199 Me dice, ay, yo quiero salir de Madrid 1092 00:52:48,199 --> 00:52:49,980 Vale, desde Madrid podéis ir a Pisa, Roma 1093 00:52:49,980 --> 00:52:51,360 Vale, quiero ir a Pisa 1094 00:52:51,360 --> 00:52:52,480 ¿Y ahora qué hago? Hasta luego 1095 00:52:52,480 --> 00:52:55,460 Tendrá que construirle el billete 1096 00:52:55,460 --> 00:52:56,780 Con esta base de aquí 1097 00:52:56,780 --> 00:52:58,179 ¿Cómo construyes el billete? 1098 00:53:02,519 --> 00:53:03,280 Hagámoslo aquí 1099 00:53:03,280 --> 00:53:05,099 Para variar 1100 00:53:05,099 --> 00:53:07,619 ¿Qué necesito para un billete? 1101 00:53:11,679 --> 00:53:12,320 Estas cosas de aquí 1102 00:53:12,320 --> 00:53:13,820 Nombre 1103 00:53:13,820 --> 00:53:16,280 ¿Vale? 1104 00:53:16,460 --> 00:53:18,619 Entonces, aquí le preguntaré su nombre 1105 00:53:18,619 --> 00:53:23,320 Luego se lo preguntaré 1106 00:53:23,320 --> 00:53:24,380 Todas estas cosas, ¿vale? 1107 00:53:25,440 --> 00:53:26,480 Eh, pésalo 1108 00:53:26,480 --> 00:53:30,730 Vale, hecho, lo tengo 1109 00:53:30,730 --> 00:53:32,730 ¿Qué más quiero? El vuelo 1110 00:53:32,730 --> 00:53:33,929 ¿Cómo saco el vuelo? 1111 00:53:45,050 --> 00:53:45,650 ¿Cómo lo hago? 1112 00:53:51,900 --> 00:53:53,860 Tengo que hacer otro método parecido a eso 1113 00:53:53,860 --> 00:53:55,320 ¿Se puede hacer de forma más eficiente? 1114 00:53:55,480 --> 00:53:56,519 Pues probablemente sí, eh 1115 00:53:56,519 --> 00:53:58,579 Pero bueno, por ahora la eficiencia 1116 00:53:58,579 --> 00:54:01,099 Es el último de mis problemas 1117 00:54:01,099 --> 00:54:02,659 ¿Vale? Entonces aquí 1118 00:54:02,659 --> 00:54:04,119 Ahora yo le diré que 1119 00:54:04,119 --> 00:54:05,940 El vuelo que yo busco 1120 00:54:05,940 --> 00:54:11,769 ¿Cómo lo encuentro? 1121 00:54:13,769 --> 00:54:15,210 Amente con busca vuelo 1122 00:54:15,210 --> 00:54:26,369 ¿Quién me dice cómo se hace 1123 00:54:26,369 --> 00:54:27,090 Busca vuelo? 1124 00:54:30,380 --> 00:54:32,639 Public, static 1125 00:54:32,639 --> 00:54:39,800 ¿Quién me tiene que devolver? 1126 00:54:43,539 --> 00:54:44,380 Vuelo 1127 00:54:44,380 --> 00:54:47,699 Busca vuelo 1128 00:54:47,699 --> 00:54:51,019 ¿Qué necesito 1129 00:54:51,019 --> 00:54:52,099 Para buscar un vuelo? 1130 00:54:59,739 --> 00:55:00,800 Por ejemplo, el destino, ¿no? 1131 00:55:08,019 --> 00:55:08,500 Cuidado 1132 00:55:08,500 --> 00:55:10,619 En la realidad, eso sería un poquito más 1133 00:55:10,619 --> 00:55:12,179 Complejo, porque podría tener 1134 00:55:12,179 --> 00:55:14,119 Varios vuelos 1135 00:55:14,119 --> 00:55:16,780 Varias compañías que hacen el mismo vuelo 1136 00:55:16,780 --> 00:55:18,519 ¿Vale? Pero lo simplificamos, ¿eh? 1137 00:55:18,760 --> 00:55:20,420 Aquí busco el primero que encuentro 1138 00:55:20,420 --> 00:55:20,780 Y ya está 1139 00:55:20,780 --> 00:55:24,579 Entonces, cuando lo busco 1140 00:55:24,579 --> 00:55:26,139 Desde aquí, ¿qué le tengo que pasar? 1141 00:55:26,139 --> 00:55:27,780 ¿Dónde tengo el origen? 1142 00:55:34,170 --> 00:55:34,690 ¿Os acordáis? 1143 00:55:34,869 --> 00:55:37,469 Tenía el origen, el origen, el destino, el destino 1144 00:55:37,469 --> 00:55:39,309 Por lo tanto 1145 00:55:39,309 --> 00:55:41,710 Antes lo que estaba buscando 1146 00:55:41,710 --> 00:55:42,449 Eran 1147 00:55:42,449 --> 00:55:46,070 Los posibles vuelos 1148 00:55:46,070 --> 00:55:48,230 Desde una determinada origen 1149 00:55:48,230 --> 00:55:49,389 ¿Sí? 1150 00:55:49,590 --> 00:55:51,510 Ahora yo quiero un vuelo concreto 1151 00:55:51,510 --> 00:55:54,170 El que va desde aquí hasta aquí 1152 00:55:54,170 --> 00:55:56,429 ¿Le tengo que pasar algo más? 1153 00:56:09,630 --> 00:56:10,050 ¿Os acordáis? 1154 00:56:11,050 --> 00:56:13,130 ¿Le tengo que pasar todos los vuelos? 1155 00:56:13,289 --> 00:56:15,050 Porque lo tengo aquí 1156 00:56:15,050 --> 00:56:17,030 ¿O no? 1157 00:56:18,650 --> 00:56:21,289 Como antes cuando buscaba un origen 1158 00:56:21,289 --> 00:56:23,070 No le pasaba solo el origen 1159 00:56:23,070 --> 00:56:24,070 Y él buscaba 1160 00:56:24,070 --> 00:56:27,289 Le pasaba todas las posibles conexiones 1161 00:56:27,289 --> 00:56:29,090 Y de este búscame 1162 00:56:29,090 --> 00:56:30,849 Solo la que tiene un determinado origen 1163 00:56:30,849 --> 00:56:33,230 Ahora en vez de lo que hago es 1164 00:56:33,230 --> 00:56:34,289 Búscame 1165 00:56:34,289 --> 00:56:38,349 En todas las conexiones 1166 00:56:38,349 --> 00:56:41,110 La que tiene un determinado origen o un determinado destino 1167 00:56:41,110 --> 00:56:43,389 ¿Cómo? 1168 00:56:45,090 --> 00:56:45,730 ¿Cómo? 1169 00:56:49,440 --> 00:56:49,679 Ah 1170 00:56:49,679 --> 00:57:02,469 Porque como devuelvo algo 1171 00:57:02,469 --> 00:57:03,429 Pues entonces se enfada 1172 00:57:03,429 --> 00:57:04,070 ¿Vale? 1173 00:57:05,329 --> 00:57:08,769 Es decir, que yo ahora tendré un vuelo 1174 00:57:08,769 --> 00:57:11,190 Mi vuelo 1175 00:57:11,190 --> 00:57:15,400 Y al final 1176 00:57:15,400 --> 00:57:18,400 Tendré que devolver este mi vuelo 1177 00:57:18,400 --> 00:57:27,099 Al principio 1178 00:57:27,099 --> 00:57:29,380 Este es nul 1179 00:57:29,380 --> 00:57:31,619 ¿Vale? 1180 00:57:31,619 --> 00:57:35,269 Vamos a ver que hacemos aquí 1181 00:57:35,269 --> 00:57:39,070 Como hago para buscar dentro de este array 1182 00:57:39,070 --> 00:57:40,590 La que tiene 1183 00:57:40,590 --> 00:57:43,309 Origen O y destino D 1184 00:57:43,309 --> 00:57:45,889 Ah, fijamos que me he equivocado 1185 00:57:45,889 --> 00:57:47,030 O y D 1186 00:57:47,030 --> 00:57:53,420 Es igual a aquel otro 1187 00:57:53,420 --> 00:58:03,639 Solo que ahora 1188 00:58:03,639 --> 00:58:06,400 Lo que me interesa es que 1189 00:58:06,400 --> 00:58:08,619 Además que la origen sea O 1190 00:58:08,619 --> 00:58:16,559 El destino 1191 00:58:16,559 --> 00:58:19,059 Sea 1192 00:58:19,059 --> 00:58:22,900 D 1193 00:58:22,900 --> 00:58:27,940 Este if de aquí 1194 00:58:27,940 --> 00:58:29,820 Me está diciendo 1195 00:58:29,820 --> 00:58:32,099 Vete por todo la ray 1196 00:58:32,099 --> 00:58:34,340 Que teníamos nosotros, ¿vale? 1197 00:58:34,639 --> 00:58:36,179 Y pregúntate si 1198 00:58:36,179 --> 00:58:38,539 La posición actual la que estás mirando 1199 00:58:38,539 --> 00:58:40,099 Esta de aquí, ¿vale? 1200 00:58:40,219 --> 00:58:40,760 Por ejemplo 1201 00:58:40,760 --> 00:58:44,440 El origen se corresponde 1202 00:58:44,440 --> 00:58:46,579 Y el destino se corresponde 1203 00:58:46,579 --> 00:58:48,679 Entonces este es el objeto que yo quiero 1204 00:58:48,679 --> 00:58:51,320 ¿Vale? 1205 00:58:51,940 --> 00:58:52,619 Si no, no 1206 00:58:52,619 --> 00:58:55,500 Y si este es el objeto que yo quiero 1207 00:58:55,500 --> 00:58:56,320 ¿Qué tengo que hacer? 1208 00:59:13,780 --> 00:59:14,980 ¿Qué estoy buscando? 1209 00:59:15,380 --> 00:59:17,340 He encontrado que este es el vuelo correcto 1210 00:59:17,340 --> 00:59:18,840 VDI es el vuelo correcto 1211 00:59:18,840 --> 00:59:19,400 Pues ¿qué hago? 1212 00:59:24,019 --> 00:59:26,699 Me guardo dentro de esta variable de aquí 1213 00:59:26,699 --> 00:59:28,460 El vuelo 1214 00:59:28,460 --> 00:59:30,019 Que he encontrado en este momento 1215 00:59:30,019 --> 00:59:32,940 Así que cuando salgo del for 1216 00:59:32,940 --> 00:59:34,780 ¿Qué hay dentro de mi vuelo? 1217 00:59:39,989 --> 00:59:40,909 Dos opciones 1218 00:59:40,909 --> 00:59:43,010 Si lo he encontrado 1219 00:59:43,010 --> 00:59:46,130 Me ha devuelto el objeto correcto 1220 00:59:46,130 --> 00:59:48,489 Si no lo he encontrado 1221 00:59:48,489 --> 00:59:50,409 Tengo null 1222 00:59:50,409 --> 00:59:54,949 ¿Si o no? 1223 00:59:57,780 --> 00:59:58,840 El resultado 1224 00:59:58,840 --> 01:00:01,400 Me lo devuelve aquí 1225 01:00:01,400 --> 01:00:02,960 Y me lo pone aquí dentro 1226 01:00:02,960 --> 01:00:05,460 O sea que yo ahora aquí dentro tengo 1227 01:00:05,460 --> 01:00:07,159 O el vuelo que estoy buscando 1228 01:00:07,159 --> 01:00:09,059 O un null 1229 01:00:09,059 --> 01:00:14,989 If 1230 01:00:14,989 --> 01:00:16,769 Vuelo 1231 01:00:16,769 --> 01:00:18,150 Not null 1232 01:00:18,150 --> 01:00:28,099 Siga adelante 1233 01:00:28,099 --> 01:00:29,659 Si o no 1234 01:00:29,659 --> 01:00:32,489 Si 1235 01:00:32,489 --> 01:00:38,280 Veamos que hago 1236 01:00:38,280 --> 01:00:41,420 Entonces, ahora tengo el nombre y el vuelo 1237 01:00:41,420 --> 01:00:45,639 El, donde está, no, el billete 1238 01:00:45,639 --> 01:00:47,119 Nombre, vuelo 1239 01:00:47,119 --> 01:00:49,800 Necesito precio, fecha 1240 01:00:49,800 --> 01:00:51,559 Y si afiscas, vale 1241 01:00:51,559 --> 01:00:52,840 Entonces 1242 01:00:52,840 --> 01:00:55,280 Pinta precio 1243 01:00:55,280 --> 01:00:57,199 Es igual que la gente hace en dólares 1244 01:00:57,199 --> 01:00:57,900 Siempre 1245 01:00:57,900 --> 01:01:00,579 Que más tenía 1246 01:01:00,579 --> 01:01:02,659 Fecha 1247 01:01:02,659 --> 01:01:06,769 Tring 1248 01:01:06,769 --> 01:01:09,170 Fecha es igual 1249 01:01:09,170 --> 01:01:11,409 Al 25 1250 01:01:11,409 --> 01:01:13,650 De diciembre de 2022 1251 01:01:13,650 --> 01:01:14,710 Siempre 1252 01:01:14,710 --> 01:01:16,690 Viajamos por navidad 1253 01:01:16,690 --> 01:01:18,909 Y 1254 01:01:18,909 --> 01:01:20,309 Fresh class 1255 01:01:20,309 --> 01:01:27,400 Fals 1256 01:01:27,400 --> 01:01:33,900 Esto todo lo podré preguntar al usuario 1257 01:01:33,900 --> 01:01:36,139 Hacer métodos que me lo calculan 1258 01:01:36,139 --> 01:01:37,159 Todo lo que te da gana 1259 01:01:37,159 --> 01:01:39,699 ¿Vale? Pero por ahora, para hacerlo más sencillo 1260 01:01:39,699 --> 01:01:41,099 Le doy yo, siempre es 1261 01:01:41,099 --> 01:01:42,320 Que costa 100 euros 1262 01:01:42,320 --> 01:01:44,440 Siempre vamos por Navidad 1263 01:01:44,440 --> 01:01:46,960 Y siempre vamos que falte 1264 01:01:46,960 --> 01:01:48,219 ¿Vale? 1265 01:01:49,679 --> 01:01:51,400 Ok, ahora tengo que crear 1266 01:01:51,400 --> 01:01:53,320 El billete, tengo todos los datos 1267 01:01:53,320 --> 01:01:55,820 Tengo 1268 01:01:55,820 --> 01:01:59,019 La origen, tengo el vuelo, perdón, aquí 1269 01:01:59,019 --> 01:02:01,480 El nombre de quien vuela 1270 01:02:01,480 --> 01:02:02,699 El vuelo 1271 01:02:02,699 --> 01:02:04,980 Que va a pillar 1272 01:02:04,980 --> 01:02:08,079 Tengo el precio, la fecha 1273 01:02:08,079 --> 01:02:09,420 Y si haces caso, no 1274 01:02:09,420 --> 01:02:11,920 Entonces ya puedo crear el billete 1275 01:02:11,920 --> 01:02:13,760 ¿Cómo creo el billete? 1276 01:02:25,260 --> 01:02:25,780 Billete 1277 01:02:25,780 --> 01:02:27,840 De avión 1278 01:02:27,840 --> 01:02:35,170 No todos a la vez, por favor 1279 01:02:35,170 --> 01:02:39,369 ¿Cómo creo un objeto, señores? 1280 01:02:39,530 --> 01:02:41,050 Esto ya no es la primera vez que lo hemos visto 1281 01:02:41,050 --> 01:02:45,090 Billete es igual a qué? 1282 01:02:46,530 --> 01:02:46,929 New 1283 01:02:46,929 --> 01:02:48,269 ¿De qué? 1284 01:02:48,269 --> 01:02:52,889 De billete de avión 1285 01:02:52,889 --> 01:02:55,909 ¿Os acordáis? 1286 01:02:56,429 --> 01:02:58,010 El constructor 1287 01:02:58,010 --> 01:03:00,030 ¿Vale? 1288 01:03:00,670 --> 01:03:02,309 ¿Qué le pongo aquí dentro? 1289 01:03:03,929 --> 01:03:04,809 Nombre 1290 01:03:04,809 --> 01:03:06,789 Este nombre de aquí 1291 01:03:06,789 --> 01:03:10,469 Vuelo 1292 01:03:10,469 --> 01:03:12,369 Este vuelo de aquí 1293 01:03:12,369 --> 01:03:15,579 ¿Vale? 1294 01:03:15,579 --> 01:03:17,059 Porque acordaos que 1295 01:03:17,059 --> 01:03:19,920 Si estoy aquí dentro, esto no es nul 1296 01:03:19,920 --> 01:03:21,539 Por lo tanto es un objeto 1297 01:03:21,539 --> 01:03:22,820 Vuelo válido 1298 01:03:22,820 --> 01:03:24,099 ¿Si? 1299 01:03:25,400 --> 01:03:26,960 Precio, fecha, Fsclass 1300 01:03:26,960 --> 01:03:37,780 Y ya está, ya me he creado 1301 01:03:37,780 --> 01:03:38,860 Mi objeto billete 1302 01:03:38,860 --> 01:03:47,230 Ahora para ver 1303 01:03:47,230 --> 01:03:49,690 Que esto ha hecho algo 1304 01:03:49,690 --> 01:03:51,670 Hagamos lo siguiente 1305 01:03:51,670 --> 01:03:53,969 Creamos 1306 01:03:53,969 --> 01:03:55,349 En billete de avión 1307 01:03:55,349 --> 01:03:57,010 Un método 1308 01:03:57,010 --> 01:03:59,909 Un toString, un imprime 1309 01:03:59,909 --> 01:04:01,750 ¿Vale? Algo por el estilo 1310 01:04:01,750 --> 01:04:05,150 Quiero un método que si lo llame 1311 01:04:05,150 --> 01:04:07,150 Sobre un billete, me escriba 1312 01:04:07,150 --> 01:04:09,070 Algo de este billete, me escriba 1313 01:04:09,070 --> 01:04:10,590 Todas estas cosas bonitas 1314 01:04:10,590 --> 01:04:12,090 ¿Vale? 1315 01:04:12,690 --> 01:04:15,010 Entonces, public 1316 01:04:15,010 --> 01:04:15,909 ¿Qué más? 1317 01:04:17,769 --> 01:04:18,730 ¿Estático o no? 1318 01:04:20,309 --> 01:04:21,489 ¿Es un método 1319 01:04:21,489 --> 01:04:22,849 Que depende de la clase 1320 01:04:22,849 --> 01:04:24,789 Y será siempre igual independientemente 1321 01:04:24,789 --> 01:04:26,030 Del billete que yo llamo 1322 01:04:26,030 --> 01:04:28,670 O depende del billete sobre el que yo llamo 1323 01:04:28,670 --> 01:04:31,150 Depende del billete 1324 01:04:31,150 --> 01:04:32,849 Por lo tanto no es estático 1325 01:04:32,849 --> 01:04:35,030 Dos billetes distintos 1326 01:04:35,030 --> 01:04:37,170 Escribirán cosas distintas 1327 01:04:37,170 --> 01:04:39,269 Que devuelve 1328 01:04:39,269 --> 01:04:40,550 Hasta void 1329 01:04:40,550 --> 01:04:41,869 Puedo devolver un string 1330 01:04:41,869 --> 01:04:43,429 Depende de donde lo quiero imprimir 1331 01:04:43,429 --> 01:04:45,789 Hagamos void que es más sencillo 1332 01:04:45,789 --> 01:04:47,210 Imprimir 1333 01:04:47,210 --> 01:04:52,019 Y me dirá 1334 01:04:52,019 --> 01:04:54,239 Si eso 1335 01:04:54,239 --> 01:04:57,559 El 1336 01:04:57,559 --> 01:05:00,460 El día 1337 01:05:00,460 --> 01:05:03,360 Más 1338 01:05:03,360 --> 01:05:11,179 No, porque tú lo llamarás 1339 01:05:11,179 --> 01:05:11,940 Sobre su objeto 1340 01:05:11,940 --> 01:05:13,539 Y el objeto tendrá sus datos 1341 01:05:13,539 --> 01:05:14,420 ¿Qué datos estos? 1342 01:05:15,420 --> 01:05:16,820 Entonces lo puedo llamar directamente 1343 01:05:16,820 --> 01:05:20,500 El día 1344 01:05:20,500 --> 01:05:23,280 Fecha 1345 01:05:23,280 --> 01:05:30,750 Voy a viajar 1346 01:05:30,750 --> 01:05:31,829 De 1347 01:05:31,829 --> 01:05:36,960 Más origen 1348 01:05:36,960 --> 01:05:39,639 A 1349 01:05:39,639 --> 01:05:44,090 Más destino 1350 01:05:44,090 --> 01:05:49,719 En el vuelo 1351 01:05:49,719 --> 01:06:09,239 Interesante 1352 01:06:09,239 --> 01:06:14,099 ¿Cómo lo hago? 1353 01:06:21,630 --> 01:06:23,750 Lo que quiero yo es 1354 01:06:23,750 --> 01:06:26,590 Compañía en un vuelo 1355 01:06:26,590 --> 01:06:27,010 ¿Vale? 1356 01:06:27,989 --> 01:06:29,550 Pongamos así, en el vuelo 1357 01:06:29,550 --> 01:06:30,610 Y el número del vuelo 1358 01:06:30,610 --> 01:06:32,489 ¿Cómo saco el número del vuelo desde aquí? 1359 01:06:33,429 --> 01:06:36,929 Yo tengo aquí 1360 01:06:36,929 --> 01:06:39,349 Vuelo, que es un vuelo 1361 01:06:39,349 --> 01:06:41,650 Por lo tanto puedo acceder 1362 01:06:41,650 --> 01:06:42,389 Desde aquí 1363 01:06:42,389 --> 01:06:45,349 A vuelo 1364 01:06:45,349 --> 01:06:47,510 Este es un objeto vuelo 1365 01:06:47,510 --> 01:06:56,449 vale punto todas las características de un objeto vuelo incluidos en un vuelo 1366 01:07:04,349 --> 01:07:11,789 sí sí porque no origen el destino no están aquí verdad a jornadas que origen el destino no 1367 01:07:11,789 --> 01:07:20,309 pertenecen a billete pertenecen a este vuelo se me ha pasado a mí vale entonces aquí no hay origen 1368 01:07:20,309 --> 01:07:21,849 Aquí no hay destino 1369 01:07:21,849 --> 01:07:24,510 El origen y el destino están dentro de un objeto vuelo 1370 01:07:24,510 --> 01:07:24,869 Aquí 1371 01:07:24,869 --> 01:07:27,150 Origen y destino 1372 01:07:27,150 --> 01:07:30,329 Por lo tanto, para accederlo desde aquí 1373 01:07:30,329 --> 01:07:32,789 Lo que tengo que hacer es acceder 1374 01:07:32,789 --> 01:07:34,429 A mi campo vuelo 1375 01:07:34,429 --> 01:07:39,670 Y luego desde mi campo vuelo 1376 01:07:39,670 --> 01:07:40,949 Al origen y el destino 1377 01:07:40,949 --> 01:07:44,820 ¿Sí o no? 1378 01:07:45,099 --> 01:07:47,860 De hecho, mirad, si yo lo dejo así con destino 1379 01:07:47,860 --> 01:07:48,780 Se enfada, ¿eh? 1380 01:07:49,539 --> 01:07:50,800 Me dice, destino no existe 1381 01:07:50,800 --> 01:07:52,500 Marcado en rojo 1382 01:07:52,500 --> 01:07:55,119 Me dice, destino cannot be resolved 1383 01:07:55,119 --> 01:07:55,820 To a variable 1384 01:07:55,820 --> 01:07:59,300 No es posible encontrar una variable 1385 01:07:59,300 --> 01:08:01,280 Que se llama destino, no existe destino aquí 1386 01:08:01,280 --> 01:08:03,059 Verdad, culpa mía 1387 01:08:03,059 --> 01:08:05,679 Tienes que ir a vuelo.destino 1388 01:08:05,679 --> 01:08:06,639 Ahora sí 1389 01:08:06,639 --> 01:08:12,559 En el vuelo o en un vuelo 1390 01:08:12,559 --> 01:08:14,880 Vale, dejámoslo así, podría sacar más información 1391 01:08:14,880 --> 01:08:15,179 Pero 1392 01:08:15,179 --> 01:08:18,520 Entonces 1393 01:08:18,520 --> 01:08:20,039 Si ahora llamo imprime 1394 01:08:20,039 --> 01:08:21,899 Imprimir 1395 01:08:21,899 --> 01:08:24,539 Me debería decir toda esta información 1396 01:08:24,539 --> 01:08:30,260 Por lo tanto, desde la agencia, después de haber creado el billete 1397 01:08:30,260 --> 01:08:32,220 Hago que el billete se imprima 1398 01:08:32,220 --> 01:08:34,159 ¿Cómo hago que el billete se imprima? 1399 01:08:37,010 --> 01:08:38,949 Llamando el método, imprimir 1400 01:08:38,949 --> 01:08:42,689 Pero el método de imprimir es estático 1401 01:08:42,689 --> 01:08:46,970 No, por lo tanto no lo puedo llamar así 1402 01:08:46,970 --> 01:08:49,989 Lo tengo que llamar sobre un objeto 1403 01:08:49,989 --> 01:08:53,050 Billete.imprimir 1404 01:08:53,050 --> 01:08:56,479 dudas 1405 01:08:56,479 --> 01:09:00,750 veamos si esto funciona 1406 01:09:00,750 --> 01:09:07,729 aquí es cuando yo había puesto Madrid 1407 01:09:07,729 --> 01:09:09,670 me dice que los destinos son Pisa y Roma 1408 01:09:09,670 --> 01:09:10,789 luego he elegido Pisa 1409 01:09:10,789 --> 01:09:13,590 entonces el día 25 este de aquí 1410 01:09:13,590 --> 01:09:15,670 voy a viajar de Madrid a Pisa 1411 01:09:15,670 --> 01:09:17,689 en el vuelo este de aquí 1412 01:09:17,689 --> 01:09:22,710 parece funcionar 1413 01:09:22,710 --> 01:09:24,149 voy a hacer otra prueba 1414 01:09:24,149 --> 01:09:26,109 y si le pongo 1415 01:09:26,109 --> 01:09:27,710 Pisa 1416 01:09:27,710 --> 01:09:29,170 Madrid 1417 01:09:29,170 --> 01:09:37,869 el día no se que no se que 1418 01:09:37,869 --> 01:09:39,930 va a volar desde Pisa a Madrid 1419 01:09:39,930 --> 01:09:41,470 en el vuelo 1111 1420 01:09:41,470 --> 01:09:45,810 el otro vuelo 1421 01:09:45,810 --> 01:09:46,069 si 1422 01:09:46,069 --> 01:09:49,970 estos datos de aquí no cambian porque siempre lo ha dejado igual 1423 01:09:49,970 --> 01:09:51,710 pero esto 1424 01:09:51,710 --> 01:09:52,369 si que cambia 1425 01:09:52,369 --> 01:09:56,119 y si voy a Roma 1426 01:09:56,119 --> 01:09:57,579 Pisa-Roma 1427 01:09:57,579 --> 01:10:01,739 no me acuerdo si hay Pisa-Roma 1428 01:10:01,739 --> 01:10:02,539 o Roma-Pisa 1429 01:10:02,539 --> 01:10:05,140 si no está 1430 01:10:05,140 --> 01:10:09,539 los posibles vuelos desde Pisa son Madrid 1431 01:10:09,539 --> 01:10:12,520 Y como cuando he buscado Pizaroma 1432 01:10:12,520 --> 01:10:14,520 No he encontrado ninguno 1433 01:10:14,520 --> 01:10:17,000 Entonces cuando he llegado aquí 1434 01:10:17,000 --> 01:10:17,800 Vuelo 1435 01:10:17,800 --> 01:10:19,579 Seguía siendo null 1436 01:10:19,579 --> 01:10:22,220 Y por lo tanto esta cosa de aquí no la he hecho 1437 01:10:22,220 --> 01:10:24,399 Y no he hecho nada 1438 01:10:24,399 --> 01:10:26,840 Podría poner un 1439 01:10:26,840 --> 01:10:33,859 Y eso 1440 01:10:33,859 --> 01:10:36,960 Lo sentimos 1441 01:10:36,960 --> 01:10:38,979 Nuestra 1442 01:10:38,979 --> 01:10:40,720 Agencia 1443 01:10:40,720 --> 01:10:42,800 Agencia no se escribe así 1444 01:10:42,800 --> 01:10:44,159 Agencia 1445 01:10:44,159 --> 01:11:03,420 No gestiona vuelos de origen a destino 1446 01:11:03,420 --> 01:11:08,409 Entonces, si ahora pongo algo que no es 1447 01:11:08,409 --> 01:11:11,329 Dice, lo sentimos, nuestra agencia no gestiona vuelos de pisarro 1448 01:11:11,329 --> 01:11:19,260 Entonces, vamos ahora a 1449 01:11:19,260 --> 01:11:22,989 Completar este ejercicio 1450 01:11:22,989 --> 01:11:30,729 lo dejamos de en vez que este de aquí lo lea lo ponga yo directamente pues que 1451 01:11:30,729 --> 01:11:35,770 interactúe con el usuario vale entonces al principio le diré 1452 01:11:39,510 --> 01:11:53,239 dime la origen y leo la origen para leer la origen llamaré un método que es leer algo 1453 01:11:59,010 --> 01:12:01,029 Vamos a crearle el algo 1454 01:12:01,029 --> 01:12:02,869 Aquí al fondo 1455 01:12:02,869 --> 01:12:05,149 Public 1456 01:12:05,149 --> 01:12:06,789 Porque todo es otro public 1457 01:12:06,789 --> 01:12:08,329 ¿Qué pongo? ¿Static o no? 1458 01:12:13,569 --> 01:12:14,449 Leer algo 1459 01:12:14,449 --> 01:12:19,970 ¿Lo estoy llamando sobre un objeto o no? 1460 01:12:21,550 --> 01:12:22,229 No 1461 01:12:22,229 --> 01:12:23,810 Por lo tanto static 1462 01:12:23,810 --> 01:12:27,170 ¿Qué me tiene que devolver? 1463 01:12:27,529 --> 01:12:28,270 Miradlo aquí 1464 01:12:28,270 --> 01:12:29,510 ¿Qué me tiene que devolver? 1465 01:12:32,170 --> 01:12:32,850 String 1466 01:12:32,850 --> 01:12:36,460 ¿Cómo se llama? 1467 01:12:36,779 --> 01:12:37,579 Lee algo 1468 01:12:37,579 --> 01:12:39,939 ¿Pilla parámetros? No 1469 01:12:39,939 --> 01:12:41,279 ¿Y qué hace? 1470 01:12:42,279 --> 01:12:44,140 Scanner scan 1471 01:12:44,140 --> 01:12:45,520 Es igual 1472 01:12:45,520 --> 01:12:47,619 A new 1473 01:12:47,619 --> 01:12:49,380 Scanner 1474 01:12:49,380 --> 01:12:51,939 De system.in 1475 01:12:51,939 --> 01:12:55,960 Return 1476 01:12:55,960 --> 01:12:59,789 Scan.nextline 1477 01:13:00,869 --> 01:13:04,649 Por ejemplo 1478 01:13:04,649 --> 01:13:07,829 Te lee una línea 1479 01:13:07,829 --> 01:13:09,270 Y te la devuelve 1480 01:13:09,270 --> 01:13:11,029 Como esto lee una string 1481 01:13:11,029 --> 01:13:13,689 Pues el resultado de esta operación 1482 01:13:13,689 --> 01:13:14,489 Te la devuelve 1483 01:13:14,489 --> 01:13:18,810 Entonces aquí he leído algo 1484 01:13:18,810 --> 01:13:20,630 Para el origen 1485 01:13:20,630 --> 01:13:23,390 Y aquí que haré 1486 01:13:23,390 --> 01:13:29,000 Leer algo también 1487 01:13:29,000 --> 01:13:30,979 Cada vez que llamo leo algo 1488 01:13:30,979 --> 01:13:32,039 Me leerá una línea 1489 01:13:32,039 --> 01:13:34,640 O no 1490 01:13:34,640 --> 01:13:38,500 Antes le tendré que decir algo 1491 01:13:38,500 --> 01:13:40,520 Bueno podría ponerle aquí 1492 01:13:40,520 --> 01:13:42,819 Mirad esto de dime la origen 1493 01:13:42,819 --> 01:13:44,119 Se lo pongo aquí 1494 01:13:44,119 --> 01:13:47,819 Y esto 1495 01:13:47,819 --> 01:13:52,399 Lo pongo dentro de 1496 01:13:52,399 --> 01:13:53,119 Lealgo 1497 01:13:53,119 --> 01:13:54,939 Así 1498 01:13:54,939 --> 01:13:59,670 Bring mensaje 1499 01:13:59,670 --> 01:14:03,529 Imprime mensaje 1500 01:14:03,529 --> 01:14:06,989 Ahora yo tengo una función 1501 01:14:06,989 --> 01:14:08,850 Lealgo que le doy un parámetro 1502 01:14:08,850 --> 01:14:11,329 Un mensaje, lo que hace él es escribir 1503 01:14:11,329 --> 01:14:13,310 Este mensaje, luego solicitarme algo 1504 01:14:13,310 --> 01:14:18,789 Por lo tanto, aquí le diré 1505 01:14:18,789 --> 01:14:20,470 Lealgo de dime la origen 1506 01:14:20,470 --> 01:14:22,590 Y aquí le diré 1507 01:14:22,590 --> 01:14:23,449 Le algo 1508 01:14:23,449 --> 01:14:25,829 Le dime el destino 1509 01:14:25,829 --> 01:14:33,260 Y ahora ya puedo trabajar 1510 01:14:33,260 --> 01:14:34,399 Con esto 1511 01:14:34,399 --> 01:14:40,720 Lanzo este de aquí 1512 01:14:40,720 --> 01:14:42,779 Ahora me dice 1513 01:14:42,779 --> 01:14:44,159 Dime la origen 1514 01:14:44,159 --> 01:14:46,420 Digo Madrid 1515 01:14:46,420 --> 01:14:49,279 Y me dice 1516 01:14:49,279 --> 01:14:55,539 Los posibles destinos 1517 01:14:55,539 --> 01:14:56,119 Desde Madrid 1518 01:14:56,119 --> 01:14:58,619 Son Pisa y Roma 1519 01:14:58,619 --> 01:15:00,279 Dime el destino 1520 01:15:00,279 --> 01:15:01,539 ¿Dónde queréis ir? 1521 01:15:04,930 --> 01:15:05,409 Pisa 1522 01:15:05,409 --> 01:15:06,930 Pisa 1523 01:15:06,930 --> 01:15:09,350 El día 25 no sé qué 1524 01:15:09,350 --> 01:15:11,289 Voy a viajar de Madrid a Pisa 1525 01:15:11,289 --> 01:15:13,010 En el vuelo 8458 1526 01:15:13,010 --> 01:15:13,850 Vale 1527 01:15:13,850 --> 01:15:15,170 Cambiamos 1528 01:15:15,170 --> 01:15:17,470 ¿Dónde queréis ir? 1529 01:15:17,489 --> 01:15:18,329 Dime el origen 1530 01:15:18,329 --> 01:15:22,090 Pisa 1531 01:15:22,090 --> 01:15:25,689 Desde Pisa puedo viajar solo a Madrid 1532 01:15:25,689 --> 01:15:27,409 Dime el destino 1533 01:15:27,409 --> 01:15:28,329 Madrid 1534 01:15:28,329 --> 01:15:29,470 ¿Vale? 1535 01:15:30,029 --> 01:15:31,970 Voy a viajar de Pisa a Madrid 1536 01:15:31,970 --> 01:15:32,449 Vale 1537 01:15:32,449 --> 01:15:35,029 Roma 1538 01:15:35,029 --> 01:15:36,250 O Roma 1539 01:15:36,250 --> 01:15:38,430 Origen, Roma 1540 01:15:38,430 --> 01:15:41,090 A Roma puedo viajar a Pisa o Madrid 1541 01:15:41,090 --> 01:15:41,750 ¿De dónde voy? 1542 01:15:45,899 --> 01:15:46,779 A Genova 1543 01:15:46,779 --> 01:15:48,659 Lo sentimos 1544 01:15:48,659 --> 01:15:52,600 Nuestra agencia no gestiona vuelos 1545 01:15:52,600 --> 01:15:53,359 De Roma a Genova