1 00:00:00,180 --> 00:00:02,540 Vale, pues ¿qué habréis hecho? 2 00:00:04,139 --> 00:00:09,759 Dato de entrada, el código del pedido, vale, código del pedido he leído. 3 00:00:10,699 --> 00:00:16,179 Entonces, dime, ¿qué le pasa al código? 4 00:00:17,899 --> 00:00:25,870 Se está generando, no lo estamos generando automáticamente, lo estamos generando automáticamente cuando instanciamos un pedido. 5 00:00:25,870 --> 00:00:49,490 En agregar pedido, ¿dónde está? En agregar pedido, ¿qué llamamos agregar pedido? ¿Desde dónde llamamos agregar pedido? 6 00:00:49,490 --> 00:00:51,409 Desde aquí 7 00:00:51,409 --> 00:00:52,689 ¿Vale? ¿Ves? 8 00:00:53,210 --> 00:00:55,789 El código lo estamos generando 9 00:00:55,789 --> 00:00:57,229 Automáticamente en la aplicación 10 00:00:57,229 --> 00:01:00,130 Generamos uno e incrementamos para el siguiente 11 00:01:00,130 --> 00:01:01,789 O sea, los códigos van a ir siendo 12 00:01:01,789 --> 00:01:03,270 0, 1, 2, 3 13 00:01:03,270 --> 00:01:04,969 Que van a estar ahí intercalados 14 00:01:04,969 --> 00:01:07,590 ¿Vale? Pues a ver 15 00:01:07,590 --> 00:01:09,609 Entonces 16 00:01:09,609 --> 00:01:10,510 Dato de entrada 17 00:01:10,510 --> 00:01:13,269 Dato de entrada 18 00:01:13,269 --> 00:01:14,810 Pedimos el código del pedido 19 00:01:14,810 --> 00:01:17,049 Silencio 20 00:01:17,049 --> 00:01:18,450 Hasta ahí bien 21 00:01:18,450 --> 00:01:39,230 Ahora de nuevo esta parte es una parte para decir lo puedo haber encontrado y lo muestro o puedo no haberlo encontrado, entonces un Boolean sobre si lo he encontrado o no que menos, un Boolean para ver si lo he encontrado o no para en el caso de no haberlo encontrado avisar, porque si no la aplicación se va a quedar callada, hay que intentar que la aplicación sea también lo más amigable posible. 22 00:01:40,170 --> 00:01:44,769 Entonces, como esta opción se trata de encontrar algo o no encontrarlo, 23 00:01:45,569 --> 00:01:48,849 pues al menos a través de un Boolean distinguir si lo he encontrado o no. 24 00:01:49,629 --> 00:01:53,950 Pues venga, este va a ser mi Boolean para ver si he encontrado ese pedido o no. 25 00:01:54,409 --> 00:01:57,689 De tal forma que si después del for de búsqueda no lo he encontrado, 26 00:01:57,930 --> 00:01:58,689 me dirá no existe. 27 00:01:58,689 --> 00:01:59,049 Vale. 28 00:02:00,209 --> 00:02:02,409 Y ahora, ¿dónde tenemos que buscar el pedido? 29 00:02:02,510 --> 00:02:06,109 Ese pedido hay que buscarlo en mi array de clientes. 30 00:02:06,109 --> 00:02:08,469 Cuidado que aquí he puesto un punto length 31 00:02:08,469 --> 00:02:10,650 Lógicamente que este estaría mal 32 00:02:10,650 --> 00:02:11,870 Esto tendría que ser 33 00:02:11,870 --> 00:02:13,069 Así 34 00:02:13,069 --> 00:02:16,610 Vale, entonces mi pedido lo voy a buscar 35 00:02:16,610 --> 00:02:18,289 En mi array de clientes 36 00:02:18,289 --> 00:02:19,830 Vale 37 00:02:19,830 --> 00:02:22,449 Entonces lo que ocurre es que aquí 38 00:02:22,449 --> 00:02:24,770 Buscar el pedido 39 00:02:24,770 --> 00:02:26,889 En mi array de clientes 40 00:02:26,889 --> 00:02:28,310 Pues implica 41 00:02:28,310 --> 00:02:29,750 Meterme en 42 00:02:29,750 --> 00:02:31,530 Clientes de i 43 00:02:31,530 --> 00:02:33,330 Sacar sus pedidos 44 00:02:33,330 --> 00:02:35,810 Iterar con otro for 45 00:02:35,810 --> 00:02:38,069 para ver si alguno de esos pedidos 46 00:02:38,069 --> 00:02:39,729 su código es igual que me han dado 47 00:02:39,729 --> 00:02:42,289 vale, no pasa nada, puedo empezar a engordar 48 00:02:42,289 --> 00:02:44,389 a partir de aquí, pero desde el momento 49 00:02:44,389 --> 00:02:45,810 en que ya empiezo a anidar for 50 00:02:45,810 --> 00:02:47,830 ya el código se queda muy feo 51 00:02:47,830 --> 00:02:50,389 muy poco vistoso, pues de nuevo 52 00:02:50,389 --> 00:02:51,729 ojalá 53 00:02:51,729 --> 00:02:53,370 tuviéramos un método 54 00:02:53,370 --> 00:02:56,289 que para el cliente 55 00:02:56,909 --> 00:02:58,449 clientes 56 00:02:58,449 --> 00:02:58,789 de i 57 00:02:58,789 --> 00:03:01,750 pues yo le digo 58 00:03:01,750 --> 00:03:03,729 localiza pedido, pasado el código 59 00:03:03,729 --> 00:03:05,729 y me devuelve ese pedido 60 00:03:05,729 --> 00:03:09,909 qué suerte, ojalá si yo tuviera 61 00:03:09,909 --> 00:03:11,370 un método 62 00:03:11,370 --> 00:03:14,870 que dado un objeto cliente 63 00:03:14,870 --> 00:03:16,169 si yo le paso un código 64 00:03:16,169 --> 00:03:20,189 me devuelve el pedido con ese código 65 00:03:20,189 --> 00:03:22,270 null si no está, por tanto 66 00:03:22,270 --> 00:03:25,110 entonces si yo este método lo tuviera 67 00:03:25,110 --> 00:03:27,930 magnífico, porque lo llamo 68 00:03:27,930 --> 00:03:31,909 y obtengo el pedido con ese código 69 00:03:31,909 --> 00:03:35,590 si p es igual a 70 00:03:35,590 --> 00:03:41,310 Null, es que no está, pero si p es distinto de null, lo acabo de encontrar. 71 00:03:42,650 --> 00:03:44,569 Entonces ya aviso de que lo he encontrado. 72 00:03:46,090 --> 00:03:48,889 Para que ya el bucle no vuelva a entrar. 73 00:03:50,430 --> 00:03:51,530 Encontrado igual a true. 74 00:03:52,530 --> 00:03:57,430 Aquí ya como los códigos son únicos, ese pedido solo lo habrá hecho una persona. 75 00:03:58,250 --> 00:03:59,930 Y ahora ya, ¿qué es lo único que me falta? 76 00:04:00,069 --> 00:04:03,389 Pues mostrar, mostrar los datos de ese cliente que tiene ese pedido. 77 00:04:03,889 --> 00:04:05,250 Pues aquí lo que quiera yo mostrar. 78 00:04:05,590 --> 00:04:08,330 el cliente que lo ha pedido 79 00:04:08,330 --> 00:04:10,490 pues es este, clientes de ahí 80 00:04:10,490 --> 00:04:14,909 vale, pues mi main se queda 81 00:04:14,909 --> 00:04:17,329 ahora ya un poquito más cómodo y más corto 82 00:04:17,329 --> 00:04:19,069 a falta de hacer 83 00:04:19,069 --> 00:04:19,810 este método 84 00:04:19,810 --> 00:04:21,629 vale 85 00:04:21,629 --> 00:04:25,290 repito, pedimos el dato de entrada 86 00:04:25,290 --> 00:04:26,870 como se trata 87 00:04:26,870 --> 00:04:28,810 de encontrar o no encontrar, pues hombre 88 00:04:28,810 --> 00:04:31,009 vamos a hacer la aplicación mínimamente amigable 89 00:04:31,009 --> 00:04:33,129 distinguiendo si lo he encontrado 90 00:04:33,129 --> 00:04:34,850 o no, para poder avisar 91 00:04:34,850 --> 00:04:37,129 vale, pues de partida 92 00:04:37,129 --> 00:04:37,930 no lo he encontrado 93 00:04:37,930 --> 00:04:40,230 Ahora recorro todos mis clientes 94 00:04:40,230 --> 00:04:42,870 Y ahora para cada cliente 95 00:04:42,870 --> 00:04:44,189 Para cada cliente voy a ver 96 00:04:44,189 --> 00:04:45,870 Si su pedido existe o no existe 97 00:04:45,870 --> 00:04:53,410 A la hora de crearlo 98 00:04:53,410 --> 00:04:54,870 Pero esta funcionalidad 99 00:04:54,870 --> 00:04:56,050 Que es buscar por código 100 00:04:56,050 --> 00:04:58,829 Sí, porque esta es otra funcionalidad distinta 101 00:04:58,829 --> 00:05:05,100 Hombre, pero si lo puedes saber 102 00:05:05,100 --> 00:05:06,680 Imagínate la situación real 103 00:05:06,680 --> 00:05:08,839 A ti, tú estás en la tienda 104 00:05:08,839 --> 00:05:10,620 Y te viene uno 105 00:05:10,620 --> 00:05:11,740 Y te hace un pedido de bolis 106 00:05:11,740 --> 00:05:14,240 y él solo lo único que te dice es quiero 107 00:05:14,240 --> 00:05:16,100 bolis, entonces tú metes bolis precio 108 00:05:16,100 --> 00:05:18,120 y el código se genera 109 00:05:18,120 --> 00:05:20,060 pues ya está, tú tienes ahí tu albarán 110 00:05:20,060 --> 00:05:21,920 el que tú le das al proveedor con el código 111 00:05:21,920 --> 00:05:24,279 y entonces ahora ya pues de repente 112 00:05:24,279 --> 00:05:26,339 ese proveedor te dice, oye me has dado un pedido 113 00:05:26,339 --> 00:05:28,360 con código tal, que ese dato ya es tuyo 114 00:05:28,360 --> 00:05:30,160 lo has generado y lo siento 115 00:05:30,160 --> 00:05:32,240 no lo tengo, entonces tú te has encontrado 116 00:05:32,240 --> 00:05:33,540 con un pedido de código 7 117 00:05:33,540 --> 00:05:36,399 y tienes que localizar al cliente 118 00:05:36,399 --> 00:05:38,180 para decirle, perdona es que no está 119 00:05:38,180 --> 00:05:43,160 claro, no, no, esta funcionalidad 120 00:05:43,160 --> 00:05:45,180 hace es para el que gestiona 121 00:05:45,180 --> 00:05:47,060 la aplicación. O sea, 122 00:05:47,139 --> 00:05:48,819 no es para el cliente. 123 00:05:49,339 --> 00:05:51,740 Este registra al cliente, 124 00:05:52,139 --> 00:05:53,180 le hace pedidos, el que 125 00:05:53,180 --> 00:05:54,459 está, digamos, en el mostrador. 126 00:05:55,199 --> 00:05:55,399 ¿Vale? 127 00:05:56,980 --> 00:05:59,060 Vale, pues entonces, si tuviéramos este método 128 00:05:59,060 --> 00:06:01,100 localiza pedido, que le 129 00:06:01,100 --> 00:06:03,100 pasamos un código y 130 00:06:03,100 --> 00:06:05,060 para ese cliente me devuelve el 131 00:06:05,060 --> 00:06:06,939 pedido con ese código. Si no existe, nul. 132 00:06:07,060 --> 00:06:10,300 Me devuelve nul. Porque 133 00:06:10,300 --> 00:06:12,660 lo había creado de antes. Lo normal es que 134 00:06:12,660 --> 00:06:14,660 me diera error. ¿Vale? Pero lo he creado ahora 135 00:06:14,660 --> 00:06:16,839 mientras estabais ahí entretenidos 136 00:06:16,839 --> 00:06:18,500 vale, pues este método 137 00:06:18,500 --> 00:06:20,540 tendría que ir en clientes 138 00:06:20,540 --> 00:06:22,660 y sería este 139 00:06:22,660 --> 00:06:27,800 de aquí abajo, sería este 140 00:06:27,800 --> 00:06:29,579 recibe un entero, que es el código 141 00:06:29,579 --> 00:06:32,079 devuelve un objeto pedido 142 00:06:32,079 --> 00:06:34,720 y ahora ya 143 00:06:34,720 --> 00:06:37,860 pues claro, este es el pedido 144 00:06:37,860 --> 00:06:38,920 que voy a devolver 145 00:06:38,920 --> 00:06:41,420 el pedido que voy a devolver en mi return 146 00:06:41,420 --> 00:06:43,279 el que voy a devolver 147 00:06:43,279 --> 00:06:45,259 inicialmente null, vale 148 00:06:45,259 --> 00:06:49,959 Ahora, si pedidos fuera igual a null 149 00:06:49,959 --> 00:06:51,379 No tengo nada que hacer 150 00:06:51,379 --> 00:06:52,720 Si el cliente no tiene pedidos 151 00:06:52,720 --> 00:06:54,319 Es imposible que tenga ese pedido 152 00:06:54,319 --> 00:06:56,699 Retorno al null directamente 153 00:06:56,699 --> 00:07:00,060 Pero en el caso de que pedido sea diferente de null 154 00:07:00,060 --> 00:07:03,579 Y solo en el caso de que pedido sea diferente de null 155 00:07:03,579 --> 00:07:06,819 Ahora sí, recorro los pedidos del cliente 156 00:07:06,819 --> 00:07:09,660 Y si encuentro alguno con ese código 157 00:07:09,660 --> 00:07:12,240 ¡Hala! Ya tengo la variable resultado 158 00:07:12,240 --> 00:07:13,399 ¿Vale? 159 00:07:13,399 --> 00:07:29,160 Pues este método es un método que hace esa cosa muy concreta. Dado un código, recorre la raíz de pedidos de ese cliente. En cuanto encuentra uno con ese código, ya actualiza el resultado. Y cuando él fuera terminado, devuelve el return. 160 00:07:29,160 --> 00:07:31,339 entonces return 161 00:07:31,339 --> 00:07:32,759 o bien será null 162 00:07:32,759 --> 00:07:35,019 que puede ser null 163 00:07:35,019 --> 00:07:35,699 ¿en qué situación? 164 00:07:36,519 --> 00:07:37,879 porque pedidos fuera null 165 00:07:37,879 --> 00:07:39,560 con lo cual no entra en el if 166 00:07:39,560 --> 00:07:41,980 luego el resultado se queda null 167 00:07:41,980 --> 00:07:44,459 o puede ser null porque pedido siendo 168 00:07:44,459 --> 00:07:46,540 diferente de null, este for nunca 169 00:07:46,540 --> 00:07:48,680 entró aquí, porque no encontró el pedido 170 00:07:48,680 --> 00:07:50,879 nunca entró aquí, pues result seguirá siendo null 171 00:07:50,879 --> 00:07:52,959 ¿cuándo no va a ser null? 172 00:07:53,680 --> 00:07:54,680 cuando la array es 173 00:07:54,680 --> 00:07:56,519 diferente de null y además 174 00:07:56,519 --> 00:07:58,959 existe un pedido con ese código 175 00:07:58,959 --> 00:08:01,579 Solo en ese caso me va a devolver 176 00:08:01,579 --> 00:08:02,660 Ese objeto pedido 177 00:08:02,660 --> 00:08:04,779 Vale 178 00:08:04,779 --> 00:08:06,779 Pues ya está 179 00:08:06,779 --> 00:08:09,259 Tengo este método que me hace esa cosa muy concreta 180 00:08:09,259 --> 00:08:10,980 Y ahora ya lo uso siempre que quiera 181 00:08:10,980 --> 00:08:12,579 Siempre que quiera 182 00:08:12,579 --> 00:08:15,519 Recuperar por código 183 00:08:15,519 --> 00:08:17,699 El pedido de un cliente con todos sus datos 184 00:08:17,699 --> 00:08:21,509 ¿Vale? Es un método que puede ser útil 185 00:08:21,509 --> 00:08:22,430 Para muchas cosas 186 00:08:22,430 --> 00:08:25,629 El cliente me hace una consulta 187 00:08:25,629 --> 00:08:26,810 O lo que sea, cualquier cosa 188 00:08:26,810 --> 00:08:28,910 Y quiero yo, a ver, este pedido 189 00:08:28,910 --> 00:08:30,089 ¿Pero cuánto costaba este pedido? 190 00:08:30,790 --> 00:08:34,029 Pues, llamo para este cliente a su método localice apellido con 191 00:08:34,029 --> 00:08:35,950 un código y me da los datos de ese pedido. 192 00:08:36,110 --> 00:08:37,649 Entonces, puede ser útil para muchas cosas. 193 00:08:38,830 --> 00:08:43,610 En particular, nos ha venido bien para no anidar tanto for aquí 194 00:08:43,610 --> 00:08:44,009 dentro. 195 00:08:46,450 --> 00:08:51,029 Porque si no, tendría que yo hacer aquí dentro el for otra 196 00:08:51,029 --> 00:08:51,289 vez. 197 00:08:52,289 --> 00:08:53,690 Tendría que hacer a que podría, ¿vale? 198 00:08:53,690 --> 00:08:55,850 No pasa nada, pero es que ya me empieza a quedar un mail un 199 00:08:55,850 --> 00:08:56,690 poco insoportable. 200 00:08:58,929 --> 00:08:59,110 ¿Vale? 201 00:08:59,110 --> 00:09:01,070 Y la idea de la programación de todos los objetos, precisamente, 202 00:09:01,070 --> 00:09:04,370 es no hacer programas enormes 203 00:09:04,370 --> 00:09:05,250 sino 204 00:09:05,250 --> 00:09:07,710 modularlos, modulables 205 00:09:07,710 --> 00:09:08,750 separarlos en partes 206 00:09:08,750 --> 00:09:11,429 ¿vale? pues ya está 207 00:09:11,429 --> 00:09:13,870 navegamos por todos 208 00:09:13,870 --> 00:09:15,870 los clientes, para cada 209 00:09:15,870 --> 00:09:17,950 cliente localizamos pedido con este 210 00:09:17,950 --> 00:09:19,929 código, si no es 211 00:09:19,929 --> 00:09:21,850 null, lo acabamos de encontrar 212 00:09:21,850 --> 00:09:23,990 lo marcamos y ya 213 00:09:23,990 --> 00:09:24,529 mostramos 214 00:09:24,529 --> 00:09:29,289 ¿vale? entonces 215 00:09:29,289 --> 00:09:31,970 habréis hecho lo mismo 216 00:09:31,970 --> 00:09:34,529 pero a lo mejor en lugar de con un método auxiliar 217 00:09:34,529 --> 00:09:36,669 habréis metido aquí otro for 218 00:09:36,669 --> 00:09:39,289 que recorre los pedidos de clientes de ahí. 219 00:09:39,769 --> 00:09:40,649 Otro for ahí dentro. 220 00:09:41,909 --> 00:09:43,629 Yo en lugar de meter ese for ahí dentro 221 00:09:43,629 --> 00:09:45,230 pues lo he sacado a ese método 222 00:09:45,230 --> 00:09:48,389 y así ya se queda un método útil 223 00:09:48,389 --> 00:09:49,649 para ambas cosas. 224 00:09:56,259 --> 00:09:56,740 ¿Vale? 225 00:09:56,960 --> 00:09:59,399 Lo que he hecho yo o lo que habéis hecho vosotros. 226 00:10:00,440 --> 00:10:01,220 ¿Está claro? 227 00:10:05,299 --> 00:10:08,059 El método localiza pedido. 228 00:10:08,919 --> 00:10:09,720 Este, por ejemplo. 229 00:10:16,850 --> 00:10:20,230 este es el 230 00:10:20,230 --> 00:10:21,429 esto va después del for 231 00:10:21,429 --> 00:10:24,210 puedo poner la llave por si se queda más claro 232 00:10:24,210 --> 00:10:31,429 ¿qué te dice? 233 00:10:38,139 --> 00:10:39,960 porque te falta el return 234 00:10:39,960 --> 00:10:42,059 hay alguna rama que no está contemplada 235 00:10:42,059 --> 00:10:47,259 vale, pues entonces 236 00:10:47,259 --> 00:10:49,279 para completar con una 237 00:10:49,279 --> 00:10:51,139 con los métodos static ahora ya sabemos 238 00:10:51,139 --> 00:10:53,320 lo que son las variables static 239 00:10:53,320 --> 00:10:54,539 ya sabemos lo que significan 240 00:10:54,539 --> 00:10:58,820 Pues que existan propiedades static 241 00:10:58,820 --> 00:11:00,940 Automáticamente implica 242 00:11:00,940 --> 00:11:02,120 Que pueden existir 243 00:11:02,120 --> 00:11:03,440 Métodos static 244 00:11:03,440 --> 00:11:06,039 Que nos abre, eso ya sí que sí nos abre 245 00:11:06,039 --> 00:11:08,259 Un mundo de posibilidades 246 00:11:08,259 --> 00:11:10,120 Para nuestros programas 247 00:11:10,120 --> 00:11:12,740 Maravilloso, mucho más cómodo 248 00:11:12,740 --> 00:11:14,360 Pues venga 249 00:11:14,360 --> 00:11:15,860 Vamos a añadir aquí una funcionalidad 250 00:11:15,860 --> 00:11:17,039 Muy facilita de hacer 251 00:11:17,039 --> 00:11:19,460 Que es 252 00:11:19,460 --> 00:11:23,940 Vamos a añadir una 253 00:11:23,940 --> 00:11:27,690 Que es 7 254 00:11:27,690 --> 00:11:30,250 Bueno, esta 8 que es súper retorcida 255 00:11:30,250 --> 00:11:36,870 Esta 8 que es súper retorcida 256 00:11:36,870 --> 00:11:37,809 Se queda pendiente 257 00:11:37,809 --> 00:11:40,169 Vamos a añadir una 9 258 00:11:40,169 --> 00:11:42,090 La 8 está sin hacer 259 00:11:42,090 --> 00:11:46,830 Voy a añadir aquí una funcionalidad 9 260 00:11:46,830 --> 00:11:49,269 Que es pues cambiar el IVA 261 00:11:49,269 --> 00:11:50,789 Porque resulta que el IVA ha cambiado 262 00:11:50,789 --> 00:11:56,159 Y yo tengo que poder cambiarlo desde mi aplicación 263 00:11:56,159 --> 00:11:57,740 Sin tener que meterme en el código 264 00:11:57,740 --> 00:11:58,820 Recompilarlo 265 00:11:58,820 --> 00:12:03,179 cambiar el IVA, pues venga, vamos a hacer esta funcionalidad 266 00:12:03,179 --> 00:12:08,759 caso 1, caso 2, 3, 4, 5 267 00:12:08,759 --> 00:12:13,399 6, 7, el 8 se ha quedado sin hacer 268 00:12:13,399 --> 00:12:19,360 vale, el 8 no hace nada 269 00:12:19,360 --> 00:12:22,039 por ahora, y vamos al 9 270 00:12:22,039 --> 00:12:34,639 vale, pues aquí habría que pedir el nuevo valor 271 00:12:34,639 --> 00:12:40,460 nuevo valor del IVA 272 00:12:40,460 --> 00:12:46,279 Pues venga, aquí nos lo ponen, como hemos dicho que es un double. 273 00:12:57,830 --> 00:13:07,360 Entonces aquí, con hacer esto, ya lo tendríamos, ¿verdad? 274 00:13:13,120 --> 00:13:17,440 Con hacer esto ya está, esta es la variable estática que tiene esa información 275 00:13:17,440 --> 00:13:21,759 a la que accedo a través del nombre de la clase donde está declarada. 276 00:13:28,019 --> 00:13:36,669 Vale, pero vamos a suponer que actualizar el IVA, es decir, esta sentencia de aquí, 277 00:13:36,669 --> 00:13:39,789 aunque es metido un poco así forzado 278 00:13:39,789 --> 00:13:42,350 vamos a suponer que actualizar el IVA 279 00:13:42,350 --> 00:13:43,950 implicará hacer más cosas 280 00:13:43,950 --> 00:13:46,250 pues como conectarse con no sé qué 281 00:13:46,250 --> 00:13:47,309 para validar algo 282 00:13:47,309 --> 00:13:49,190 o mostrar aunque fuera un mensaje 283 00:13:49,190 --> 00:13:50,850 voy a hacer mostrar un mensaje 284 00:13:50,850 --> 00:13:53,710 para que hubiera que hacer más cosas 285 00:13:53,710 --> 00:13:55,470 entonces vamos a hacerlo a través de un método 286 00:13:55,470 --> 00:13:57,509 es decir, esto que en lugar de hacerlo así 287 00:13:57,509 --> 00:14:00,210 vamos a hacerlo a través de un método 288 00:14:00,210 --> 00:14:01,250 ¿vale? 289 00:14:02,070 --> 00:14:05,409 entonces el método que modifica esta propiedad IVA 290 00:14:05,409 --> 00:14:07,129 el método que la modifica 291 00:14:07,129 --> 00:14:08,250 tendrá que estar en pedido 292 00:14:08,250 --> 00:14:11,149 porque en pedido es donde está esta propiedad 293 00:14:11,149 --> 00:14:12,610 vale 294 00:14:12,610 --> 00:14:14,730 pues entonces voy a hacer aquí en pedido 295 00:14:14,730 --> 00:14:17,090 un método que modifica esta propiedad 296 00:14:17,090 --> 00:14:18,090 como si fuera un set 297 00:14:18,090 --> 00:14:20,049 igual que si fuera un set 298 00:14:20,049 --> 00:14:22,009 y que además hace más cosas 299 00:14:22,009 --> 00:14:25,090 vale, pues venga, me voy a hacer aquí el método 300 00:14:25,090 --> 00:14:26,129 que modifica el IVA 301 00:14:26,129 --> 00:14:28,610 entonces, este método 302 00:14:28,610 --> 00:14:31,129 pues public 303 00:14:31,129 --> 00:14:33,470 no devuelve nada 304 00:14:33,470 --> 00:14:35,389 porque su efecto ya está en el IVA 305 00:14:35,389 --> 00:14:38,370 modifica 306 00:14:38,370 --> 00:14:39,110 iba 307 00:14:39,110 --> 00:14:42,230 nuevo valor, hay que pasárselo por parámetro 308 00:14:42,230 --> 00:14:42,690 claro 309 00:14:42,690 --> 00:14:46,490 y ahora, este método haría 310 00:14:46,490 --> 00:14:48,230 iba igual 311 00:14:48,230 --> 00:14:49,629 a iba 312 00:14:49,629 --> 00:14:54,320 uy, perdón, vale 313 00:14:54,320 --> 00:14:55,500 haría esto 314 00:14:55,500 --> 00:14:58,639 y además, para que sea un método 315 00:14:58,639 --> 00:15:01,080 comunicando 316 00:15:01,080 --> 00:15:02,559 cambios o cualquier 317 00:15:02,559 --> 00:15:08,940 cosa, vale 318 00:15:08,940 --> 00:15:11,559 bueno, pues aquí tengo un método 319 00:15:11,559 --> 00:15:13,480 normal y corriente, no hace nada 320 00:15:13,480 --> 00:15:14,879 distinto a lo que ya conocemos 321 00:15:14,879 --> 00:15:16,940 recibe un parámetro de fuera 322 00:15:16,940 --> 00:15:19,639 con ese parámetro actualiza una variable 323 00:15:19,639 --> 00:15:21,659 de la clase, esta en particular 324 00:15:21,659 --> 00:15:23,379 actualiza una variable 325 00:15:23,379 --> 00:15:24,620 y hace más cosas, vale 326 00:15:24,620 --> 00:15:27,600 pero este método, aunque así está bien hecho 327 00:15:27,600 --> 00:15:28,480 y no hay ningún problema 328 00:15:28,480 --> 00:15:33,299 nos damos cuenta de que tiene algo especial 329 00:15:33,299 --> 00:15:35,980 ¿qué tiene de especial? 330 00:15:37,159 --> 00:15:39,240 que las únicas propiedades 331 00:15:39,240 --> 00:15:41,179 que toca de la clase 332 00:15:41,179 --> 00:15:41,860 en la que está 333 00:15:41,860 --> 00:15:43,659 son estáticas. 334 00:15:44,620 --> 00:15:46,440 Es decir, vamos a ponerlo aquí. 335 00:15:49,370 --> 00:15:51,470 El siguiente método, este de aquí abajo, 336 00:15:52,789 --> 00:16:01,860 solo utiliza propiedades estáticas de la clase. 337 00:16:02,899 --> 00:16:03,500 ¿Verdad? 338 00:16:06,320 --> 00:16:08,100 Primera cosa de la que nos damos cuenta. 339 00:16:08,899 --> 00:16:12,919 No utiliza ni descripción, ni código, ni precio. 340 00:16:13,840 --> 00:16:16,620 La clase pedido tiene descripción, código y precio, 341 00:16:16,620 --> 00:16:18,759 e iba y esta 342 00:16:18,759 --> 00:16:21,039 solo utiliza la estática, la común 343 00:16:21,039 --> 00:16:22,899 solo utiliza la información común, no utiliza 344 00:16:22,899 --> 00:16:24,600 ni código, ni precio, ni descripción 345 00:16:24,600 --> 00:16:26,960 ¿qué significa que el método 346 00:16:26,960 --> 00:16:27,620 sea estático? 347 00:16:28,580 --> 00:16:31,059 perdón, que solo use una propiedad estática 348 00:16:31,059 --> 00:16:33,039 significa que este 349 00:16:33,039 --> 00:16:35,120 método da igual el objeto 350 00:16:35,120 --> 00:16:37,139 que lo llame, me da igual que lo llame 351 00:16:37,139 --> 00:16:39,159 C1, que lo llame C2, que lo llame C3 352 00:16:39,159 --> 00:16:41,279 porque este método 353 00:16:41,279 --> 00:16:43,039 lo único que 354 00:16:43,039 --> 00:16:45,320 toca es una propiedad que es común para todos 355 00:16:45,320 --> 00:17:13,029 Entonces, vale, vale, imaginaos que tenemos, pues eso, tres objetos, el pedido 1, pedido 2 y pedido 3, con sus tres propiedades, código de inscripción y precio, luego además tenemos la IVA esta, que es común para todos, común, esto es lo que tenemos, vale 356 00:17:13,029 --> 00:17:15,549 entonces resulta que este método 357 00:17:15,549 --> 00:17:16,549 de la clase pedido 358 00:17:16,549 --> 00:17:18,930 solo toca esta propiedad 359 00:17:18,930 --> 00:17:20,210 es la única que toca 360 00:17:20,210 --> 00:17:22,069 no toca ninguna de estas 361 00:17:22,069 --> 00:17:23,970 ni código, ni descripción 362 00:17:23,970 --> 00:17:26,750 ni precio, no toca ninguna de estas 363 00:17:26,750 --> 00:17:29,049 luego, eso lo convierte 364 00:17:29,049 --> 00:17:30,049 en un método especial 365 00:17:30,049 --> 00:17:31,970 ¿en qué sentido? 366 00:17:32,589 --> 00:17:34,750 en que me da igual que a este método 367 00:17:34,750 --> 00:17:36,390 lo llame P1 368 00:17:36,390 --> 00:17:39,369 P1.modificaIVA 369 00:17:39,369 --> 00:17:41,390 o me da igual que lo llame P2 370 00:17:41,390 --> 00:17:42,710 o me da igual que lo llame P3 371 00:17:42,710 --> 00:17:43,410 me da lo mismo 372 00:17:43,410 --> 00:17:46,569 porque es que no toca el contenido 373 00:17:46,569 --> 00:17:48,250 particular de cada objeto 374 00:17:48,250 --> 00:17:49,950 no lo toca, no depende de él 375 00:17:49,950 --> 00:17:51,809 no depende del contenido particular 376 00:17:51,809 --> 00:17:54,470 lo único que toca y lo único en lo que accede 377 00:17:54,470 --> 00:17:55,869 es al común de todos 378 00:17:55,869 --> 00:17:58,150 luego me da igual 379 00:17:58,150 --> 00:18:00,670 qué objeto llame al método 380 00:18:00,670 --> 00:18:02,950 luego esto lo convierte 381 00:18:02,950 --> 00:18:04,210 en un método que se llama 382 00:18:04,210 --> 00:18:05,289 estático también 383 00:18:05,289 --> 00:18:07,630 un método que sólo toca 384 00:18:07,630 --> 00:18:09,589 propiedades estáticas 385 00:18:09,589 --> 00:18:11,789 luego se convierte en un método estático 386 00:18:11,789 --> 00:18:15,990 si yo identifico que a un método le pasa eso 387 00:18:15,990 --> 00:18:18,470 que solo toca variables estáticas 388 00:18:18,470 --> 00:18:21,170 debería, no es que sea obligatorio 389 00:18:21,170 --> 00:18:22,849 debería 390 00:18:22,849 --> 00:18:26,950 identificarlo poniéndole el static delante 391 00:18:26,950 --> 00:18:38,230 debería identificarlo poniéndole el static delante 392 00:18:38,230 --> 00:18:41,410 y diréis vosotros, bueno entre ponerlo y no ponerlo 393 00:18:41,410 --> 00:18:42,009 ¿qué ganas? 394 00:18:43,049 --> 00:18:45,329 bueno, pues si yo pongo el static delante 395 00:18:45,329 --> 00:18:48,650 el compilador me va a permitir 396 00:18:48,650 --> 00:18:51,549 llamarlo con el nombre de la clase 397 00:18:51,549 --> 00:18:53,769 al igual que las propiedades 398 00:18:53,769 --> 00:18:55,450 estáticas, es decir 399 00:18:55,450 --> 00:18:56,910 si yo le pongo el static delante 400 00:18:56,910 --> 00:18:59,569 ahora ya puedo 401 00:18:59,569 --> 00:19:01,509 hacer así, pedido 402 00:19:01,509 --> 00:19:03,309 punto, modifica y va 403 00:19:03,309 --> 00:19:07,079 ¿vale? como es un método 404 00:19:07,079 --> 00:19:08,920 estático, da igual 405 00:19:08,920 --> 00:19:10,720 exactamente el objeto que lo llame 406 00:19:10,720 --> 00:19:12,980 da lo mismo, con lo cual lo llamo con el nombre 407 00:19:12,980 --> 00:19:14,960 de la clase, ¿y qué va a hacer este 408 00:19:14,960 --> 00:19:16,759 método? va a coger esta propiedad 409 00:19:16,759 --> 00:19:18,319 perdón, va a coger este valor 410 00:19:18,319 --> 00:19:21,240 y va a modificar la propiedad estática de pedido. 411 00:19:22,500 --> 00:19:33,480 ¿Qué ocurre si yo me he olvidado de poner el static delante? 412 00:19:35,940 --> 00:19:42,279 Si yo no me he dado cuenta, no he advertido que este método solo usa propiedades static 413 00:19:42,279 --> 00:19:48,099 y por tanto no he puesto el static delante, bueno, pues aquí no pasa nada. 414 00:19:48,099 --> 00:19:50,900 este método está bien escrito 415 00:19:50,900 --> 00:19:52,779 pero entonces 416 00:19:52,779 --> 00:19:54,960 ahora ya no voy a poder usarlo 417 00:19:54,960 --> 00:19:56,279 con el nombre de la clase 418 00:19:56,279 --> 00:19:57,740 si no he puesto el static delante 419 00:19:57,740 --> 00:19:59,920 necesitaría crear un objeto 420 00:19:59,920 --> 00:20:01,380 aunque fuera un objeto de mentira 421 00:20:01,380 --> 00:20:02,240 solo para llamarlo 422 00:20:02,240 --> 00:20:04,460 tendría que crear un objeto 423 00:20:04,460 --> 00:20:06,799 entonces para poder llamarlo 424 00:20:06,799 --> 00:20:08,220 con el nombre de la clase 425 00:20:08,220 --> 00:20:10,019 que es como se llaman los métodos estáticos 426 00:20:10,019 --> 00:20:11,220 como no dependen del objeto 427 00:20:11,220 --> 00:20:13,319 los llamo con el nombre de la clase 428 00:20:13,319 --> 00:20:16,119 para poder llamarlos con el nombre de la clase 429 00:20:16,119 --> 00:20:18,799 necesito poner el modificador 430 00:20:18,799 --> 00:20:19,660 estático delante 431 00:20:19,660 --> 00:20:21,559 si no 432 00:20:21,559 --> 00:20:49,000 y ahora ya sí que los métodos estáticos 433 00:20:49,000 --> 00:20:50,759 nos dan 434 00:20:50,759 --> 00:20:53,200 muchísima flexibilidad para hacer cosas 435 00:20:53,200 --> 00:20:54,819 porque son 436 00:20:54,819 --> 00:20:57,079 las antiguas funciones de librería 437 00:20:57,079 --> 00:20:59,099 de toda la vida, cuando uno quiere hacer 438 00:20:59,099 --> 00:20:59,819 una utilidad 439 00:20:59,819 --> 00:21:03,339 pues para hacer cosas, pero no asociada 440 00:21:03,339 --> 00:21:04,779 a ningún objeto, si una utilidad 441 00:21:04,779 --> 00:21:06,279 como leer del teclado, lo que sea 442 00:21:06,279 --> 00:21:08,619 pues lo mete en un método estático 443 00:21:08,619 --> 00:21:11,019 porque no va a depender de ninguna 444 00:21:11,019 --> 00:21:13,039 entidad, de ningún objeto de mi 445 00:21:13,039 --> 00:21:14,980 aplicación y se nos abre 446 00:21:14,980 --> 00:21:16,720 una flexibilidad de diseño 447 00:21:16,720 --> 00:21:18,859 enorme con los métodos estáticos. 448 00:21:19,039 --> 00:21:21,039 Serían como utilidades de librería. 449 00:21:32,099 --> 00:21:33,380 ¿Vale? ¿Está entendido lo que significan 450 00:21:33,380 --> 00:21:34,319 los métodos estáticos? 451 00:21:41,190 --> 00:21:43,609 Pues, por ejemplo, ella nos permite cosas muy cómodas. 452 00:21:44,849 --> 00:21:46,549 Por ejemplo, en este main, 453 00:21:48,009 --> 00:21:49,670 pues aquí había un método 454 00:21:49,670 --> 00:21:51,349 que era 455 00:21:51,349 --> 00:22:12,819 Bueno, aquí no hay ninguno que se adapte bien 456 00:22:12,819 --> 00:22:13,940 Y sería un poco, entonces 457 00:22:13,940 --> 00:22:22,759 Podemos, por ejemplo 458 00:22:22,759 --> 00:22:25,539 Utilizar el concepto de métodos static 459 00:22:25,539 --> 00:22:28,160 Para ahora ya, sí que sí 460 00:22:28,160 --> 00:22:32,740 Bueno, no, porque todavía nos falta información 461 00:22:32,740 --> 00:22:35,920 Por ejemplo, vamos a abrir el ejercicio 462 00:22:35,920 --> 00:22:41,799 El ejercicio este de las distancias y los puntos 463 00:22:41,799 --> 00:22:47,299 Que era el 13, no 464 00:22:47,299 --> 00:22:51,599 el 14, el de la trayectoria 465 00:22:51,599 --> 00:22:55,380 y todo eso, este de aquí 466 00:22:55,380 --> 00:22:58,119 vale, pues teníamos 467 00:22:58,119 --> 00:23:04,529 este método, si recordáis que era 468 00:23:04,529 --> 00:23:08,269 lo llamaba un punto y calculaba 469 00:23:08,269 --> 00:23:10,750 la distancia a otro punto 470 00:23:10,750 --> 00:23:12,410 vale 471 00:23:12,410 --> 00:23:16,630 pues imaginaos que nos planteamos este diseño de forma distinta 472 00:23:16,630 --> 00:23:19,809 oye, yo, me suena más, me es más familiar 473 00:23:19,809 --> 00:23:22,069 un método al que yo le paso 474 00:23:22,069 --> 00:23:23,769 los dos puntos como parámetro 475 00:23:23,769 --> 00:23:24,829 le paso los dos puntos 476 00:23:24,829 --> 00:23:28,210 ¿vale? entonces, por ejemplo 477 00:23:28,210 --> 00:23:30,309 a uno le puede parecer 478 00:23:30,309 --> 00:23:31,250 que queda más claro 479 00:23:31,250 --> 00:23:33,650 hacer este método distancia 480 00:23:33,650 --> 00:23:34,230 así 481 00:23:34,230 --> 00:23:38,670 public double 482 00:23:38,670 --> 00:23:41,670 distancia 483 00:23:41,670 --> 00:23:44,730 le paso 484 00:23:44,730 --> 00:23:49,119 punto p1 485 00:23:49,119 --> 00:23:51,640 y punto 486 00:23:51,640 --> 00:23:52,779 p2, vale 487 00:23:52,779 --> 00:23:54,599 le paso los dos puntos 488 00:23:54,599 --> 00:24:22,500 Ahora hago la distancia, que sería este mismo código, pero cambiando por P1, P2, entonces esto sería P1.getX menos P2.getX, P1.getX, P2.getX, y aquí P1.getY, 489 00:24:22,500 --> 00:24:25,279 p2.get 490 00:24:25,279 --> 00:24:25,740 y 491 00:24:25,740 --> 00:24:29,240 p1.get 492 00:24:29,240 --> 00:24:30,960 y 493 00:24:30,960 --> 00:24:36,200 vale, pues ahora hemos hecho este método 494 00:24:36,200 --> 00:24:37,640 otra variante de distancia 495 00:24:37,640 --> 00:24:39,740 tenemos la versión que 496 00:24:39,740 --> 00:24:41,619 habíamos hecho y esta otra 497 00:24:41,619 --> 00:24:44,160 esta recibe los dos 498 00:24:44,160 --> 00:24:45,299 puntos como parámetro 499 00:24:45,299 --> 00:24:47,680 y trabaja con esos dos puntos 500 00:24:47,680 --> 00:24:49,940 para calcular la distancia y me la devuelve 501 00:24:49,940 --> 00:24:52,019 entonces automáticamente 502 00:24:52,019 --> 00:24:53,740 yo veo este método y digo, uy va 503 00:24:53,740 --> 00:24:56,779 este método no usa 504 00:24:56,779 --> 00:24:57,519 para nada 505 00:24:57,519 --> 00:25:00,180 propiedades del objeto que lo llama 506 00:25:00,180 --> 00:25:02,339 para nada, solamente usa 507 00:25:02,339 --> 00:25:04,640 lo que yo le estoy pasando 508 00:25:04,640 --> 00:25:06,900 por aquí, no usa coordenadas 509 00:25:06,900 --> 00:25:08,000 del objeto que lo llama 510 00:25:08,000 --> 00:25:10,660 es decir, da igual el que llame a este método 511 00:25:10,660 --> 00:25:12,279 da exactamente igual quien lo llame 512 00:25:12,279 --> 00:25:14,319 porque lo único con lo que trabaja 513 00:25:14,319 --> 00:25:16,500 es con este y con este, da igual quien llame 514 00:25:16,500 --> 00:25:18,799 a este método, no usa ninguna propiedad 515 00:25:18,799 --> 00:25:21,000 con lo cual 516 00:25:21,000 --> 00:25:22,579 si yo me doy cuenta de eso 517 00:25:22,579 --> 00:25:25,859 automáticamente le pongo el modificador 518 00:25:25,859 --> 00:25:28,990 estático a este método, ¿vale? 519 00:25:29,309 --> 00:25:31,869 A este no podría poner, aquí me falta el pedo, 520 00:25:31,990 --> 00:25:34,829 a este no podría ponérselo. 521 00:25:35,369 --> 00:25:37,009 Si yo calzo aquí un static, 522 00:25:38,369 --> 00:25:41,529 automáticamente me dice, oye, perdona, si eres método estático 523 00:25:41,529 --> 00:25:44,890 no puedes usar la coordenada X 524 00:25:44,890 --> 00:25:47,589 del punto que lo llama o la coordenada Y 525 00:25:47,589 --> 00:25:50,769 del punto que lo llama, porque si eres un método estático 526 00:25:50,769 --> 00:25:53,670 no dependes de propiedades del objeto. 527 00:25:53,890 --> 00:25:56,650 en absoluto, solo dependerías 528 00:25:56,650 --> 00:25:58,410 de propiedades static, si las hay, que son 529 00:25:58,410 --> 00:26:00,450 común, pero en este caso 530 00:26:00,450 --> 00:26:02,309 ni siquiera, con lo cual este método 531 00:26:02,309 --> 00:26:04,390 si yo le pongo aquí el static, me sale aquí 532 00:26:04,390 --> 00:26:06,289 un error, me dice, no puedes depender entonces del 533 00:26:06,289 --> 00:26:08,170 punto que lo llama, no puedes depender del objeto 534 00:26:08,170 --> 00:26:09,809 entonces aquí el static no puedo 535 00:26:09,809 --> 00:26:12,410 pero en esta versión sí 536 00:26:12,410 --> 00:26:14,210 en esta versión puedo 537 00:26:14,210 --> 00:26:16,250 ponerle el static, porque esta versión 538 00:26:16,250 --> 00:26:18,450 solo depende de este parámetro 539 00:26:18,450 --> 00:26:20,250 y de este otro, no depende 540 00:26:20,250 --> 00:26:22,069 para nada del objeto que lo llama 541 00:26:22,069 --> 00:26:24,430 luego tengo otra versión 542 00:26:24,430 --> 00:26:26,609 tengo esta y tengo esta 543 00:26:26,609 --> 00:26:29,250 las dos aunque se llaman igual 544 00:26:29,250 --> 00:26:31,650 se distinguen perfectamente 545 00:26:31,650 --> 00:26:32,589 porque la primera 546 00:26:32,589 --> 00:26:34,710 será la que se ejecuta 547 00:26:34,710 --> 00:26:35,990 cuando le paso solo un punto 548 00:26:35,990 --> 00:26:38,730 y la segunda será la que se ejecuta 549 00:26:38,730 --> 00:26:39,470 cuando le paso dos 550 00:26:39,470 --> 00:26:42,190 luego se distinguen perfectamente 551 00:26:42,190 --> 00:26:44,130 lo que no podrían es tener 552 00:26:44,130 --> 00:26:45,349 los mismos parámetros, claro 553 00:26:45,349 --> 00:26:47,349 pero si tienen parámetros distintos 554 00:26:47,349 --> 00:26:50,029 ¿vale? pues ¿cómo usaríamos ahora 555 00:26:50,029 --> 00:26:51,470 este otro método 556 00:26:51,470 --> 00:26:53,410 para nuestro main de este ejercicio 557 00:26:53,410 --> 00:26:55,789 esto de la distancia 558 00:26:55,789 --> 00:26:57,750 lo usábamos, creo que en la clase 559 00:26:57,750 --> 00:27:01,150 aquí 560 00:27:01,150 --> 00:27:02,750 ¿vale? 561 00:27:04,190 --> 00:27:05,470 usábamos aquí el método 562 00:27:05,470 --> 00:27:07,390 distancia para calcular 563 00:27:07,390 --> 00:27:09,609 la distancia entre este punto 564 00:27:09,609 --> 00:27:10,529 y este otro 565 00:27:10,529 --> 00:27:13,690 calculábamos la distancia 566 00:27:13,690 --> 00:27:15,549 entre este y este 567 00:27:15,549 --> 00:27:19,140 pues si uso ese otro método 568 00:27:19,140 --> 00:27:21,319 esta misma sentencia 569 00:27:21,319 --> 00:27:22,900 se convertiría en esta 570 00:27:22,900 --> 00:27:28,589 se convertiría en esta de abajo 571 00:27:28,589 --> 00:27:32,730 en lugar de llamarlo con un punto 572 00:27:32,730 --> 00:27:34,690 lo llamo con el nombre de la clase 573 00:27:34,690 --> 00:27:35,769 porque es estática 574 00:27:35,769 --> 00:27:38,349 y ahora le paso los dos puntos 575 00:27:38,349 --> 00:27:40,569 de los que quiero calcular la distancia 576 00:27:40,569 --> 00:27:50,170 que eran get puntos de i 577 00:27:50,170 --> 00:27:57,670 t punto get puntos de i 578 00:27:57,670 --> 00:27:58,529 era uno 579 00:27:58,529 --> 00:28:01,609 y el otro sería t punto 580 00:28:01,609 --> 00:28:05,680 vale 581 00:28:05,680 --> 00:28:07,900 getPuntos 582 00:28:07,900 --> 00:28:09,960 de i 583 00:28:09,960 --> 00:28:12,359 getPuntos 584 00:28:12,359 --> 00:28:14,240 ah, me faltan los paréntesis 585 00:28:14,240 --> 00:28:15,700 ahí, vale 586 00:28:15,700 --> 00:28:19,990 vale, pues con esta versión de arriba 587 00:28:19,990 --> 00:28:21,890 con esta 588 00:28:21,890 --> 00:28:23,690 versión de arriba, estoy 589 00:28:23,690 --> 00:28:25,849 llamando al método distancia 590 00:28:25,849 --> 00:28:27,509 al que lo llama 591 00:28:27,509 --> 00:28:28,329 un punto 592 00:28:28,329 --> 00:28:31,609 y me calcula la distancia con el 593 00:28:31,609 --> 00:28:36,119 otro, aquí estoy llamando 594 00:28:36,119 --> 00:28:37,539 a esta otra versión 595 00:28:37,539 --> 00:28:40,460 que le paso los dos puntos por parámetro 596 00:28:40,460 --> 00:28:42,500 y que he etiquetado 597 00:28:42,500 --> 00:28:44,019 como static porque puedo hacerlo 598 00:28:44,019 --> 00:28:45,160 porque no depende del punto 599 00:28:45,160 --> 00:28:47,920 pues entonces lo llamo con el nombre de la clase 600 00:28:47,920 --> 00:28:50,299 y le paso los dos puntos 601 00:28:50,299 --> 00:28:53,309 ¿vale? 602 00:28:56,869 --> 00:28:58,910 nos abre alternativas de diseño 603 00:28:58,910 --> 00:29:00,109 posibilidades de diseño 604 00:29:00,109 --> 00:29:04,380 que ahora ya sí que nos pueden ser un poco más útil 605 00:29:04,380 --> 00:29:06,420 pero bueno, podemos verlo 606 00:29:06,420 --> 00:29:08,839 mañana 607 00:29:08,839 --> 00:29:09,640 si queréis 608 00:29:09,640 --> 00:29:11,819 porque nos alargaríamos un poquito 609 00:29:11,819 --> 00:29:17,650 Pero bueno, os hacéis idea de lo que es un método estático 610 00:29:17,650 --> 00:29:17,990 ¿Verdad? 611 00:29:21,900 --> 00:29:22,259 ¿Dudas?