1 00:00:00,240 --> 00:00:04,120 Voy a grabar este ejercicio, que es un ejercicio sobre una modelización de un hospital. 2 00:00:04,299 --> 00:00:09,259 Hemos dicho y decidido hasta ahora que queremos pacientes en nuestro hospital. 3 00:00:09,599 --> 00:00:17,399 Entonces, estamos aquí diciendo, vamos a definir cuáles son las características y los atributos de los pacientes. 4 00:00:17,859 --> 00:00:21,519 Y os recuerdo que si habláis, me autorizáis a que grabe vuestras voces. 5 00:00:23,359 --> 00:00:25,219 Decidme, nombre. 6 00:00:43,509 --> 00:00:47,649 Es que a mí me dices enfermedad y a mí me has dicho nada. 7 00:00:47,869 --> 00:00:56,829 Porque ¿cómo lo hago? ¿Con un código numérico? ¿Lo hago con un double? ¿Lo hago con un bulletin para saber si está enfermo o no? ¿Lo hago con un...? ¿Qué le hago? 8 00:01:00,829 --> 00:01:12,739 Sí, al único que levanta la mano. Motivo. No sé. ¿Qué dicen los otros expertos informáticos? 9 00:01:13,159 --> 00:01:24,299 O lo otro con la cosa. ¿El paciente tiene un departamento? Pero estamos haciendo paciente. 10 00:01:24,299 --> 00:01:27,980 diagnóstico. 11 00:01:30,200 --> 00:01:31,400 String diagnóstico. 12 00:01:32,180 --> 00:01:34,659 Me gusta. 13 00:02:00,480 --> 00:02:01,939 Terrible, ¿eh? Lo estáis haciendo. 14 00:02:05,299 --> 00:02:05,560 ¿Por qué no? 15 00:02:07,260 --> 00:02:15,250 A ver. 16 00:02:15,710 --> 00:02:17,229 Vamos a ver cosas. 17 00:02:17,449 --> 00:02:19,030 Pongamos orden aquí. Primero, 18 00:02:19,289 --> 00:02:20,750 podemos poner un millón de cosas. 19 00:02:21,289 --> 00:02:23,409 Pero cada cosa que ponemos, nuestro ejercicio 20 00:02:23,409 --> 00:02:25,090 se complica. Entonces, 21 00:02:25,310 --> 00:02:27,189 intentamos mantenerlo a algo 22 00:02:27,189 --> 00:02:29,330 interesante, que no obstante 23 00:02:29,330 --> 00:02:31,330 no nos interesa la vida del paciente, de los 24 00:02:31,330 --> 00:02:33,330 médicos, pero lo que nos interesa es ser 25 00:02:33,330 --> 00:02:35,590 informáticos. Entonces, pongamos 26 00:02:35,590 --> 00:02:37,490 cosillas que puedan tener 27 00:02:37,490 --> 00:02:39,409 sentido sin tener que luego 28 00:02:39,409 --> 00:02:41,509 cuando haga un constructor, tener 29 00:02:41,509 --> 00:02:43,509 45 parámetros que poner. 30 00:02:45,090 --> 00:02:45,449 ¿Se entiende? 31 00:02:46,550 --> 00:02:47,229 Vale. Entonces, 32 00:02:48,129 --> 00:02:49,009 quitamos cosas 33 00:02:49,009 --> 00:02:51,129 y metamos cosas un poquito más interesantes. 34 00:02:51,129 --> 00:02:53,050 Y reflexionemos sobre lo que 35 00:02:53,050 --> 00:02:54,930 estamos haciendo. Poma. 36 00:02:58,490 --> 00:02:59,409 No me has entendido. 37 00:03:00,490 --> 00:03:01,750 Esto es prioridad. 38 00:03:05,659 --> 00:03:05,900 ¿El? 39 00:03:07,900 --> 00:03:08,419 ¿Triage? 40 00:03:09,219 --> 00:03:14,120 Grupo sanguíneo 41 00:03:14,120 --> 00:03:14,919 No me habéis entendido 42 00:03:14,919 --> 00:03:19,180 No, porque A, B no conta 43 00:03:19,180 --> 00:03:23,979 De esta forma, me seguís diciendo 44 00:03:23,979 --> 00:03:26,159 Grupo sanguíneo, para mí grupo sanguíneo no es nada 45 00:03:26,159 --> 00:03:27,840 Me tenéis que decir, tipo 46 00:03:27,840 --> 00:03:29,759 ¿Cómo lo quieres el grupo sanguíneo? 47 00:03:56,319 --> 00:03:57,860 A mitad me sobra y lo que me habéis puesto 48 00:03:57,860 --> 00:03:58,960 No me gusta 49 00:03:58,960 --> 00:04:03,879 Vamos a ver, entonces un paciente 50 00:04:03,879 --> 00:04:05,939 Tiene solo una enfermedad 51 00:04:05,939 --> 00:04:07,979 Es solo un diagnóstico, en un hospital 52 00:04:08,919 --> 00:04:12,139 Con que tenga otra enfermedad, lo desechamos. 53 00:04:13,099 --> 00:04:16,879 Vete a otro sistema que tenga la posibilidad de meter dos enfermedades. 54 00:04:17,000 --> 00:04:18,620 Aquí ni queremos una enfermedad sola. 55 00:04:19,920 --> 00:04:23,339 Ah, ponemos un string largo así para luego buscar allí dentro 56 00:04:23,339 --> 00:04:25,360 dónde está la enfermedad que estoy buscando. 57 00:04:25,600 --> 00:04:27,100 Ah, perdonadme. 58 00:04:36,319 --> 00:04:37,480 ¿Dónde pongo los arrays? 59 00:04:41,399 --> 00:04:41,800 ¿Dónde? 60 00:04:43,800 --> 00:04:44,399 Diagnóstico. 61 00:04:52,639 --> 00:04:53,079 ¿Qué más? 62 00:04:56,449 --> 00:04:56,730 Vamos. 63 00:04:57,629 --> 00:04:58,889 Para simplificarlo, ¿eh? 64 00:04:59,290 --> 00:05:06,160 Ahora, antes decíamos, tenía un diagnóstico 65 00:05:06,160 --> 00:05:08,199 Una enfermedad, y digo que está enfermo 66 00:05:08,199 --> 00:05:09,220 No, ¿vale? 67 00:05:09,519 --> 00:05:12,360 Eso es si ya ha curado o no, que si le creo un historial 68 00:05:12,360 --> 00:05:14,000 ¿Vale? Ahora, pero no puedo tener 69 00:05:14,000 --> 00:05:15,240 Un buleano enfermo, ¿qué tendré? 70 00:05:32,649 --> 00:05:34,230 Yo te pongo que en la posición cero 71 00:05:34,230 --> 00:05:36,550 Tienes resfriado, si te pongo 72 00:05:36,550 --> 00:05:38,170 True aquí, es que en este momento 73 00:05:38,170 --> 00:05:39,389 Resfriado está activo 74 00:05:39,389 --> 00:05:42,889 Si te pongo en activo false, en la posición cero 75 00:05:42,889 --> 00:05:44,850 Te estoy diciendo que ya se ha curado 76 00:05:44,850 --> 00:05:46,589 Has tenido en pasado 77 00:05:46,589 --> 00:05:48,689 Un resfriado 78 00:05:48,689 --> 00:05:49,470 Pero ahora está 79 00:05:49,470 --> 00:05:51,149 curado. 80 00:05:51,930 --> 00:05:52,990 Y así creamos un historial. 81 00:05:53,750 --> 00:05:53,850 ¿Eh? 82 00:05:54,850 --> 00:05:55,129 Fuera. 83 00:05:58,689 --> 00:05:59,050 ¿Qué tal? 84 00:05:59,269 --> 00:05:59,509 ¿Para qué? 85 00:05:59,730 --> 00:05:59,970 Fuera. 86 00:06:09,699 --> 00:06:10,379 Lo dejamos así. 87 00:06:10,920 --> 00:06:11,199 Easy. 88 00:06:11,500 --> 00:06:11,699 ¿Vale? 89 00:06:11,759 --> 00:06:12,899 Son los primeros ejercicios. 90 00:06:13,040 --> 00:06:14,560 Los complejos luego los hacéis vosotros. 91 00:06:16,379 --> 00:06:21,980 Entonces, tenemos un nombre, tenemos una lista de enfermedades y tenemos asociadas 92 00:06:21,980 --> 00:06:24,959 una enfermedad, si está activa o no, de esta forma. 93 00:06:25,339 --> 00:06:25,779 ¿Os gusta? 94 00:06:26,480 --> 00:06:28,120 Sí, porque no sabéis pensar. 95 00:06:28,819 --> 00:06:29,000 Vale. 96 00:06:29,000 --> 00:06:31,319 Constructores 97 00:06:31,319 --> 00:06:33,720 Creo un nuevo paciente 98 00:06:33,720 --> 00:06:35,500 ¿Cómo lo creo un nuevo paciente? 99 00:06:41,480 --> 00:06:42,680 Con el nombre 100 00:06:42,680 --> 00:07:09,189 No es que el tío que te mete en el sistema 101 00:07:09,189 --> 00:07:10,709 Dice, entonces tienes un infarto 102 00:07:10,709 --> 00:07:17,240 Pero es del paciente 103 00:07:17,240 --> 00:07:19,699 Tengo un infarto, lo he visto en Google 104 00:07:19,699 --> 00:07:24,649 Que es lo que pasa 105 00:07:24,649 --> 00:07:26,449 O sea que podríamos ponerlo 106 00:07:26,449 --> 00:07:26,930 Pero 107 00:07:26,930 --> 00:07:29,370 Sí, claro 108 00:07:29,370 --> 00:07:32,610 Vale, le pongo solo el nombre 109 00:07:32,610 --> 00:07:34,569 Lo que hace este señor de aquí 110 00:07:34,569 --> 00:07:35,350 es 111 00:07:35,350 --> 00:07:38,230 dis.nombre 112 00:07:38,230 --> 00:07:38,990 que era dis 113 00:07:38,990 --> 00:07:46,319 para diferenciar entre este nombre 114 00:07:46,319 --> 00:07:48,579 y este nombre, vale, dis.nombre 115 00:07:48,579 --> 00:07:50,439 es el atributo de un objeto 116 00:07:50,439 --> 00:07:52,699 ¿de qué objeto? este objeto 117 00:07:52,699 --> 00:07:53,620 que estoy creando 118 00:07:53,620 --> 00:07:56,579 o este objeto que estoy definiendo 119 00:07:56,579 --> 00:07:58,279 en esta clase, entonces dis 120 00:07:58,279 --> 00:08:00,220 hace referencia a este de aquí 121 00:08:00,220 --> 00:08:02,339 es igual a nombre, donde nombre 122 00:08:02,339 --> 00:08:04,000 es esto, ¿sí? 123 00:08:07,560 --> 00:08:09,399 ¿y qué hacemos con enfermedades y activa? 124 00:08:09,399 --> 00:08:18,019 Lo creo con cero posiciones 125 00:08:18,019 --> 00:08:19,819 Lo creo con diez posiciones 126 00:08:19,819 --> 00:08:21,259 Y luego considero 127 00:08:21,259 --> 00:08:24,220 Que cuando dentro tiene un null todavía no está 128 00:08:24,220 --> 00:08:25,399 No está metida 129 00:08:25,399 --> 00:08:28,100 Y lo aumento solo cuando se llena 130 00:08:28,100 --> 00:08:29,779 Lo aumento cada vez 131 00:08:29,779 --> 00:08:30,240 ¿Qué hago? 132 00:08:41,220 --> 00:08:43,360 Si decidimos de aumentarlo de uno en uno 133 00:08:43,360 --> 00:08:44,259 No lo pondría con uno 134 00:08:44,259 --> 00:08:47,220 Porque entonces debería hacer la comprobación siempre 135 00:08:47,220 --> 00:08:48,600 Y en vez de 136 00:08:48,600 --> 00:08:51,179 Me quito la comprobación y asumo siempre 137 00:08:51,179 --> 00:08:53,059 Que añadiendo una nueva enfermedad 138 00:08:53,059 --> 00:08:55,200 No hay espacio, entonces lo hago más grande 139 00:08:55,200 --> 00:09:01,220 La otra opción es hacerlo de 10, entonces se irá rellenando hasta que sean 10, y cuando son 10, pues lo pongo de 20. 140 00:09:01,799 --> 00:09:04,120 Y lo voy llenando hasta 20, cosa por el estilo, ¿vale? 141 00:09:04,940 --> 00:09:05,700 Da igual. 142 00:09:07,080 --> 00:09:07,539 De 0. 143 00:09:09,379 --> 00:09:17,750 Enfermedades es igual a new string de 0, boolean... 144 00:09:21,690 --> 00:09:22,470 No, perdón, activa. 145 00:09:24,129 --> 00:09:25,470 Es igual a new... 146 00:09:25,470 --> 00:09:35,750 ¿Cuánto sufre un pobre? 147 00:09:36,110 --> 00:09:37,289 Sí, en realidad no hay 148 00:09:37,289 --> 00:09:39,450 Aquí veis que te ponen azul 149 00:09:39,450 --> 00:09:41,169 Porque no hay ambigüedad 150 00:09:41,169 --> 00:09:42,789 Si quieres ser 151 00:09:42,789 --> 00:09:44,190 Más 152 00:09:44,190 --> 00:09:47,509 ¿Sí? 153 00:09:48,669 --> 00:09:49,649 Vale, entonces 154 00:09:49,649 --> 00:09:55,639 Vale 155 00:09:55,639 --> 00:09:58,559 Hagamos un método que pueda añadir 156 00:09:58,559 --> 00:10:00,340 Una enfermedad 157 00:10:00,340 --> 00:10:02,159 Que no será el paciente 158 00:10:02,159 --> 00:10:03,960 que lo hace, lo hará 159 00:10:03,960 --> 00:10:06,059 un método de diagnosticar 160 00:10:06,059 --> 00:10:06,399 del 161 00:10:06,399 --> 00:10:10,220 médico, pero 162 00:10:10,220 --> 00:10:12,559 es al paciente que se añade 163 00:10:12,559 --> 00:10:14,340 una enfermedad, por lo tanto 164 00:10:14,340 --> 00:10:15,679 lo ponemos aquí, ¿vale? 165 00:10:16,120 --> 00:10:17,840 Entonces, public 166 00:10:17,840 --> 00:10:20,919 ¿Devuelve algo? 167 00:10:31,000 --> 00:10:31,639 Diagnóstico 168 00:10:31,639 --> 00:10:34,259 Añade, que añade no lo quiero usar 169 00:10:34,259 --> 00:10:39,799 Pero no puedo poner añade 170 00:10:39,799 --> 00:10:40,580 porque te añe 171 00:10:40,580 --> 00:10:44,559 Nuevo diagnóstico 172 00:10:44,559 --> 00:10:48,830 Y le ponemos aquí un 173 00:10:48,830 --> 00:10:50,350 String 174 00:10:50,350 --> 00:10:52,850 Enf 175 00:10:52,850 --> 00:10:55,649 Y lo que queremos hacer 176 00:10:55,649 --> 00:10:57,509 Es añadir enf a esta 177 00:10:57,509 --> 00:10:59,049 A la lista de enfermedades 178 00:10:59,049 --> 00:11:02,750 Y también signar a que está activa 179 00:11:02,750 --> 00:11:02,970 ¿Sí? 180 00:11:05,740 --> 00:11:06,460 Entonces 181 00:11:06,460 --> 00:11:11,840 Lo mismo de siempre 182 00:11:11,840 --> 00:11:13,799 Ah, para, para, para 183 00:11:13,799 --> 00:11:15,460 ¿Lo puedo hacer? 184 00:11:15,580 --> 00:11:16,159 Sí, lo puedo hacer 185 00:11:16,159 --> 00:11:19,460 Vale, entonces me creo un nuevo array de string 186 00:11:19,460 --> 00:11:37,879 string array nuevo es igual a new string ¿de cuántas posiciones? de la longitud de 187 00:11:37,879 --> 00:11:49,759 enfermedades más 1 punto y coma ahora copio todo lo que tenían enfermedades en el 188 00:11:49,759 --> 00:12:18,389 nuevo, for int i es igual a 0, i menor que enfermedades.length i++, nuevo de i es igual 189 00:12:18,389 --> 00:12:19,850 Enfermedades 190 00:12:19,850 --> 00:12:22,559 Ahí 191 00:12:22,559 --> 00:12:26,990 Con esto he copiado todo 192 00:12:26,990 --> 00:12:28,629 Cuando salgo del for 193 00:12:28,629 --> 00:12:30,710 Nuevo 194 00:12:30,710 --> 00:12:33,669 Nuevo de 195 00:12:33,669 --> 00:12:36,289 Enfermedades 196 00:12:36,289 --> 00:12:37,409 Punto length 197 00:12:37,409 --> 00:12:39,350 Es igual 198 00:12:39,350 --> 00:12:41,190 No 199 00:12:41,190 --> 00:12:43,690 Porque es el último 200 00:12:43,690 --> 00:12:44,629 Es igual a enf 201 00:12:44,629 --> 00:12:49,059 Si, dudas 202 00:12:49,059 --> 00:12:51,000 Pero cuidado 203 00:12:51,000 --> 00:12:53,019 Ah, y luego debería hacer que 204 00:12:53,019 --> 00:12:56,340 enfermedades 205 00:12:56,340 --> 00:12:58,460 es igual 206 00:12:58,460 --> 00:12:59,720 a nuevo 207 00:12:59,720 --> 00:13:15,720 nos hemos olvidado esto 208 00:13:15,720 --> 00:13:20,230 hay que hacerlo 209 00:13:20,230 --> 00:13:22,570 y esto y esto 210 00:13:22,570 --> 00:13:24,669 tendrán la particularidad 211 00:13:24,669 --> 00:13:26,250 que siempre tienen que tener 212 00:13:26,250 --> 00:13:26,990 el mismo tamaño 213 00:13:26,990 --> 00:13:30,049 por lo tanto puedo usar esta misma i 214 00:13:30,049 --> 00:13:32,190 y puedo hacer que 215 00:13:32,190 --> 00:13:33,730 además de string nuevo 216 00:13:33,730 --> 00:13:35,950 tengo un boolean 217 00:13:35,950 --> 00:13:38,309 nuevo 2 218 00:13:38,309 --> 00:13:42,690 que es igual a new boolean 219 00:13:42,690 --> 00:13:48,850 de esta misma cosa aquí 220 00:13:48,850 --> 00:13:54,190 da igual, tanto estos valores serán iguales, esto debería ser 221 00:13:54,190 --> 00:13:56,970 activa 222 00:13:56,970 --> 00:14:02,149 y luego por cada una de estas de aquí, copio 223 00:14:02,149 --> 00:14:05,929 esto, pero copio también, nuevo 2 224 00:14:05,929 --> 00:14:09,850 de i es igual a activa 225 00:14:09,850 --> 00:14:10,669 De ahí 226 00:14:10,669 --> 00:14:14,879 Voy copiando los booleanos 227 00:14:14,879 --> 00:14:16,399 Y cuando llego al final 228 00:14:16,399 --> 00:14:18,379 Nuevo 2 229 00:14:18,379 --> 00:14:20,019 De esta cosa de aquí 230 00:14:20,019 --> 00:14:24,830 Es igual a 231 00:14:24,830 --> 00:14:32,659 Se asume que si me han diagnosticado algo es porque lo tengo en este momento 232 00:14:32,659 --> 00:14:37,279 En el otro que 233 00:14:37,279 --> 00:14:38,860 Sí, ahora lo hago aquí 234 00:14:38,860 --> 00:14:40,379 Dis, espérate 235 00:14:40,379 --> 00:14:42,659 Déjate, estoy explicando otra cosa 236 00:14:42,659 --> 00:14:45,519 Dis.activa 237 00:14:45,519 --> 00:14:47,159 Es igual 238 00:14:47,159 --> 00:14:48,440 A nuevo 2 239 00:14:48,440 --> 00:15:04,610 Aquí dis, aquí dis 240 00:15:04,610 --> 00:15:07,289 Es que como no hay 241 00:15:07,289 --> 00:15:10,070 No hay ambigüedades 242 00:15:10,070 --> 00:15:11,230 Y te lo pone en azul 243 00:15:11,230 --> 00:15:13,269 Está pillando esta, pues me vale 244 00:15:13,269 --> 00:15:15,409 El this es solo en situaciones 245 00:15:15,409 --> 00:15:16,169 Como esta de aquí 246 00:15:16,169 --> 00:15:18,710 O cuando tengo que trabajar con dos objetos 247 00:15:18,710 --> 00:15:20,889 Del cual uno es este de aquí y otro es otro 248 00:15:20,889 --> 00:15:22,970 Como por ejemplo cuando comparo un objeto con otro 249 00:15:22,970 --> 00:15:26,429 ¿Dudas? 250 00:15:26,669 --> 00:15:27,210 ¿Hasta aquí? 251 00:15:28,750 --> 00:15:30,750 Vale, estamos en este examen 252 00:15:30,750 --> 00:15:32,909 Me han dicho, haz el hospital 253 00:15:32,909 --> 00:15:38,990 el hospital tiene que tener un nombre y tiene que tener una lista de enfermedades 254 00:15:38,990 --> 00:15:40,830 y tengo que decir si están activas o no. 255 00:15:41,330 --> 00:15:48,559 Y yo hago esto, lo entrego y saco un 3. 256 00:15:53,139 --> 00:15:56,769 ¿Por qué? Porque soy un vago. 257 00:16:04,870 --> 00:16:06,110 El examen podía solo esto. 258 00:16:06,570 --> 00:16:10,950 Ahora hacemos curarse, diagnosticar, medicar y todo esto. 259 00:16:11,090 --> 00:16:13,370 Pero centremos en esto. 260 00:16:13,789 --> 00:16:17,350 Me han dicho, tengo que hacer un hospital donde hay pacientes 261 00:16:17,350 --> 00:16:19,149 si los pacientes tienen una lista de enfermedades 262 00:16:19,149 --> 00:16:20,789 se tiene que decir que sean activas o desactivas 263 00:16:20,789 --> 00:16:22,889 y pongo esto, suspenso 264 00:16:22,889 --> 00:16:25,269 ¿por qué? 265 00:16:26,090 --> 00:16:28,149 porque esto es la solución que hacía 266 00:16:28,149 --> 00:16:29,429 la semana pasada 267 00:16:29,429 --> 00:16:32,549 cuando no tenía idea de objetos 268 00:16:32,549 --> 00:16:36,769 entonces hacía dos array paralelos 269 00:16:36,769 --> 00:16:40,009 pero ahora sé de los objetos 270 00:16:40,009 --> 00:16:42,610 y entonces 271 00:16:42,610 --> 00:16:46,269 me voy a crear 272 00:16:46,269 --> 00:16:48,610 enfermedad 273 00:16:48,610 --> 00:16:49,970 Como objeto 274 00:16:49,970 --> 00:16:54,029 Y esta enfermedad tendrá 275 00:16:54,029 --> 00:16:55,509 Un string nombre 276 00:16:55,509 --> 00:17:02,899 Y un boolean 277 00:17:02,899 --> 00:17:04,619 Activa 278 00:17:04,619 --> 00:17:11,349 Y luego aquí que haré 279 00:17:11,349 --> 00:17:18,490 Una red de objetos 280 00:17:18,490 --> 00:17:20,549 Una red de enfermedades 281 00:17:20,549 --> 00:17:23,789 Y el concepto de si está activa o no 282 00:17:23,789 --> 00:17:25,369 Y cual es la enfermedad 283 00:17:25,369 --> 00:17:27,650 Va todo empaquetado 284 00:17:27,650 --> 00:17:29,269 En un único objeto 285 00:17:29,269 --> 00:17:30,890 Aquí es más bonito 286 00:17:30,890 --> 00:17:33,849 Pero no me lo habéis dicho 287 00:17:33,849 --> 00:18:04,789 Vamos a cambiarlo, entonces yo tengo mi enfermedad, constructor de enfermedad, public, enfermedad, string nombre, this.nombre es igual a nombre, this.activa es igual a true, hemos dicho, ¿sí? 288 00:18:04,789 --> 00:18:22,869 Mucho más bonito. Ahora me voy aquí, esto me lo cargo, bueno, puedo hacer esto, me lo cargo, esto lo transformo en enfermedad, un array de enfermedad que se llama enfermedades, ¿vale? 289 00:18:22,869 --> 00:18:27,049 Y entonces ahora cuando yo creo un paciente con su nombre 290 00:18:27,049 --> 00:18:30,529 Lo que hago es que this.enfermedades.new 291 00:18:30,529 --> 00:18:36,589 Enfermedad de cero 292 00:18:36,589 --> 00:18:39,279 ¿Se entiende? 293 00:18:42,579 --> 00:18:46,579 Porque esto lo entiendes 294 00:18:46,579 --> 00:18:49,279 Pero esto no 295 00:18:49,279 --> 00:18:51,339 ¿Qué diferencia hay? 296 00:18:56,880 --> 00:18:57,339 ¿Qué hace? 297 00:18:58,140 --> 00:18:58,960 Es un array 298 00:18:58,960 --> 00:19:02,019 ¿De qué tipo de objetos? 299 00:19:02,019 --> 00:19:03,579 Cuando yo lo ponga aquí 300 00:19:03,579 --> 00:19:05,680 de string 301 00:19:05,680 --> 00:19:09,339 entonces le pondré dentro gato, perro y cocodrilo 302 00:19:09,339 --> 00:19:10,900 cuando lo pongo así 303 00:19:10,900 --> 00:19:14,980 tengo un array 304 00:19:14,980 --> 00:19:23,319 cuando lo pongo así 305 00:19:23,319 --> 00:19:25,660 lo que tengo es 306 00:19:25,660 --> 00:19:27,480 una serie de celdas 307 00:19:27,480 --> 00:19:28,980 en este caso son cero celdas 308 00:19:28,980 --> 00:19:30,019 pero luego serán más 309 00:19:30,019 --> 00:19:32,059 y en cada celda pongo 310 00:19:32,059 --> 00:19:34,660 un objeto de un determinado tipo 311 00:19:34,660 --> 00:19:36,380 antes ponía un objeto string 312 00:19:36,380 --> 00:19:38,539 o podía enteros 313 00:19:38,539 --> 00:19:39,559 que eran tipo primitivos 314 00:19:39,559 --> 00:19:44,500 Pues ahora en esa celda hay espacio para una enfermedad 315 00:19:44,500 --> 00:19:46,140 De hecho, no exactamente 316 00:19:46,140 --> 00:19:47,339 Paint 317 00:19:47,339 --> 00:19:52,460 Tengo mi array 318 00:19:52,460 --> 00:20:02,059 Y en cada una de estas celdas habrá un puntero a un objeto que es una enfermedad 319 00:20:02,059 --> 00:20:04,400 Aquí crearé otra enfermedad 320 00:20:04,400 --> 00:20:08,420 Y aquí tendré un puntero a esta enfermedad 321 00:20:08,420 --> 00:20:10,339 Y esto es mi array de enfermedad 322 00:20:10,339 --> 00:20:12,180 ¿Sí? ¿Se entiende? 323 00:20:12,599 --> 00:20:15,630 ¿Dónde se crean estos? 324 00:20:30,190 --> 00:20:30,430 ¿Sí? 325 00:20:31,670 --> 00:20:31,990 Vale. 326 00:20:34,089 --> 00:20:39,190 Ok, entonces, esto de aquí me está creando un array vacío de enfermedades. 327 00:20:39,309 --> 00:20:41,009 Existe el array, pero tiene cero posiciones. 328 00:20:41,650 --> 00:20:44,549 ¿Qué pasa cuando declaro una nueva enfermedad? 329 00:20:44,690 --> 00:20:47,029 Fijaos que aquí le paso el nombre de la enfermedad. 330 00:20:47,869 --> 00:20:48,069 ¿Vale? 331 00:20:48,069 --> 00:20:53,210 Entonces, simplemente, en vez de hacerme los tríngulos, buleanes, cosas por el estilo, 332 00:20:53,650 --> 00:20:58,450 pues tendré un enfermedad nuevo. 333 00:21:00,519 --> 00:21:08,019 que es igual a new enfermedad del tamaño de enfermedades más 1, 334 00:21:09,700 --> 00:21:11,720 voy copiando, el boolean ya no me sirve, 335 00:21:14,299 --> 00:21:17,539 voy copiando por cada una de las enfermedades, 336 00:21:17,779 --> 00:21:21,619 las enfermedades en la posición i, en el nuevo en la posición i, 337 00:21:22,859 --> 00:21:28,839 en el último posición del array nuevo que estoy creando, 338 00:21:30,160 --> 00:21:31,480 lo que tendré que poner es una enfermedad. 339 00:21:31,480 --> 00:21:57,650 ¿Cómo pongo una enfermedad? Aquí he copiado todo el array. Copiado, copiado, copiado, copiado. Me queda una última celda vacía. ¿Qué puede tener allí dentro? Un objeto enfermedad. ¿Cómo se crea un objeto enfermedad? Tercera pregunta del examen. 340 00:21:57,650 --> 00:22:20,559 New, que es enfermedad, parámetro actual de este parámetro formal. 341 00:22:23,210 --> 00:22:25,789 Estoy usando el constructor enfermedad. 342 00:22:26,970 --> 00:22:31,650 Entonces lo que me está haciendo él es crearme un nuevo objeto enfermedad, 343 00:22:31,789 --> 00:22:37,349 que como parámetro necesita un string, que es el nombre de la nueva enfermedad que le estoy pasando. 344 00:22:37,349 --> 00:22:43,250 entonces esto me creará un nuevo objeto enfermedad con la nueva enfermedad 345 00:22:43,250 --> 00:22:46,390 que tendrá activa true 346 00:22:46,390 --> 00:22:55,190 y este objeto de aquí nuevo lo guardo en la última posición de la red de enfermedades 347 00:22:55,190 --> 00:23:03,349 al final este nuevo se transforma en mis enfermedades y por lo tanto he añadido una 348 00:23:03,349 --> 00:23:17,740 Ahora, si vosotros como se usan los arrays lo tenéis relativamente claro, aquí la dificultad es empezar a usar arrays de objetos. 349 00:23:18,960 --> 00:23:24,140 Si vosotros no tenéis ni idea de que estoy haciendo con los arrays, pues esto se vuelve un infierno. 350 00:23:25,880 --> 00:23:27,039 No entendéis que se está haciendo. 351 00:23:27,039 --> 00:23:30,460 Pero esto es una cosa que hemos ya hecho mil veces 352 00:23:30,460 --> 00:23:32,599 Con enteros o con otras cosas 353 00:23:32,599 --> 00:23:34,460 Solo que en vez ahora de enteros 354 00:23:34,460 --> 00:23:36,119 Estoy utilizando un objeto 355 00:23:36,119 --> 00:23:39,059 Y cuidado, lo estáis haciendo con objetos 356 00:23:39,059 --> 00:23:41,099 Desde el día uno de los arrays 357 00:23:41,099 --> 00:23:42,759 Porque cuando usáis string 358 00:23:42,759 --> 00:23:43,940 Un array de string 359 00:23:43,940 --> 00:23:45,319 Ese es un array de objetos 360 00:23:45,319 --> 00:23:48,059 Solo que vuestro cerebro 361 00:23:48,059 --> 00:23:50,519 Acostumbrado a decir, no, no lo trato como objeto 362 00:23:50,519 --> 00:23:52,180 Pero es un objeto, string es un objeto 363 00:23:52,180 --> 00:24:00,000 Entonces, ahora tengo un nuevo diagnóstico 364 00:24:00,000 --> 00:24:01,799 Le paso resfriado 365 00:24:01,799 --> 00:24:09,839 Por algún lado haré paciente1.nuevodiagnostico y entre comillas le pongo resfriado 366 00:24:09,839 --> 00:24:16,240 ¿Qué hace esto? Pues me crea un nuevo array de enfermedades, de objetos enfermedad 367 00:24:16,240 --> 00:24:19,180 Un poquito más grande, más uno 368 00:24:19,180 --> 00:24:24,700 Me lo va rellenando con todas las enfermedades que tenía allí 369 00:24:24,700 --> 00:24:29,559 Activas o no activas, eso dependerá de la misma enfermedad, del mismo objeto 370 00:24:29,559 --> 00:24:31,279 Porque está aquí, ahora si está activo o no 371 00:24:31,279 --> 00:24:37,180 Y después de haber copiado toda la que tenía antes 372 00:24:37,180 --> 00:24:40,240 Me queda un espacio más, que será el último espacio 373 00:24:40,240 --> 00:24:45,740 Y en este último espacio, creo una nueva enfermedad 374 00:24:45,740 --> 00:24:47,059 Que es esta 375 00:24:47,059 --> 00:24:49,019 ¿No lo veis? 376 00:25:07,680 --> 00:25:08,579 ¿Lo veis mejor? 377 00:25:13,799 --> 00:25:17,059 Me han pasado una enfermedad, el nombre de una enfermedad 378 00:25:17,059 --> 00:25:19,319 He creado una nueva enfermedad 379 00:25:19,319 --> 00:25:21,019 Es esta de aquí, nueva enfermedad 380 00:25:21,019 --> 00:25:24,019 copio las enfermedades 381 00:25:24,019 --> 00:25:24,759 viejas 382 00:25:24,759 --> 00:25:27,500 añado en última 383 00:25:27,500 --> 00:25:29,660 posición la nueva enfermedad 384 00:25:29,660 --> 00:25:31,400 y asigno que 385 00:25:31,400 --> 00:25:33,940 el nuevo objeto que he creado, el nuevo array que he creado 386 00:25:33,940 --> 00:25:35,400 ahora son mis enfermedades 387 00:25:35,400 --> 00:25:37,440 que incluirán todas las anteriores 388 00:25:37,440 --> 00:25:49,890 más la nueva, que a veces lo pongo antes 389 00:25:49,890 --> 00:25:57,470 funciona igual 390 00:25:57,470 --> 00:26:03,400 esto para mí tiene más lógica 391 00:26:03,400 --> 00:26:05,279 antes copio todo 392 00:26:05,279 --> 00:26:06,420 y luego en el último espacio 393 00:26:06,420 --> 00:26:23,380 no, ahora no 394 00:26:23,380 --> 00:26:59,720 metodito que devuelve un array de enfermedad que copia y 395 00:26:59,720 --> 00:27:23,609 extiende un array que le paso entonces esto lo que hace es 396 00:27:23,609 --> 00:27:39,599 enfermedad array nuevo es igual a un array del tamaño de esto que me han dado 397 00:27:39,599 --> 00:27:48,039 A mí me han pasado una red de enfermedades 398 00:27:48,039 --> 00:27:50,339 Este objeto de aquí es 399 00:27:50,339 --> 00:27:53,160 Copia este array 400 00:27:53,160 --> 00:27:55,319 Y me devuelve un array 401 00:27:55,319 --> 00:27:57,440 Igual con una posición 402 00:27:57,440 --> 00:27:58,299 Extendida 403 00:27:58,299 --> 00:28:00,930 ¿Se entiende? 404 00:28:02,250 --> 00:28:04,009 Entonces, me han pasado este array 405 00:28:04,009 --> 00:28:05,269 Sea cual sea este array 406 00:28:05,269 --> 00:28:07,329 Yo lo pillo un poquito más grande 407 00:28:07,329 --> 00:28:11,410 Esto es la enfermedad 408 00:28:11,410 --> 00:28:11,990 ¿Cómo? 409 00:28:13,690 --> 00:28:14,190 Ahora cambio 410 00:28:14,190 --> 00:28:24,339 y ahora cambio, luego lo recorre, por cada uno de estos aquí, copia lo que me has dado en el nuevo array, 411 00:28:24,339 --> 00:28:41,319 y al final devuelve nuevo, entonces yo aquí podría hacer que this.enfermedades es igual a esta cosa aquí, 412 00:28:41,319 --> 00:28:46,740 Y luego this 413 00:28:46,740 --> 00:28:48,740 Punto 414 00:28:48,740 --> 00:28:50,500 Enfermedades 415 00:28:50,500 --> 00:28:54,529 De enfermedad, de la buena 416 00:28:54,529 --> 00:29:22,299 ¡Voilá! 417 00:29:26,779 --> 00:29:27,000 Sí 418 00:29:27,000 --> 00:29:38,599 ¿Cómo? Menos una 419 00:29:38,599 --> 00:29:40,559 Eso sí 420 00:29:40,559 --> 00:29:44,710 ¿Se entiende que estoy haciendo así? 421 00:29:45,549 --> 00:29:47,829 Os lo he hecho de forma básica 422 00:29:47,829 --> 00:29:50,130 Y ahora lo estoy un poco mejorando 423 00:29:50,130 --> 00:29:52,190 Un poco vamos hacia 424 00:29:52,190 --> 00:29:53,730 Somos programadores 425 00:29:53,730 --> 00:29:55,269 Entendemos lo que estamos haciendo 426 00:29:55,269 --> 00:29:56,930 Pues hacemos las cosas un poquito más 427 00:29:56,930 --> 00:29:59,390 En vez de hacerla en 25 líneas de códigos 428 00:29:59,390 --> 00:30:01,049 Mezcladas con cosas raras 429 00:30:01,049 --> 00:30:02,789 Pues la vamos a hacer lo más rápido posible 430 00:30:02,789 --> 00:30:03,430 ¿Vale? 431 00:30:04,170 --> 00:30:05,869 Este aquí es un metodito externo 432 00:30:05,869 --> 00:30:09,970 ¿Por qué me lo saco fuera este código? 433 00:30:11,690 --> 00:30:14,670 No solo, pero por reutilizarlo cuando haga falta 434 00:30:14,670 --> 00:30:16,630 Este es un método general 435 00:30:16,630 --> 00:30:18,829 Que yo le paso un array de enfermedades 436 00:30:18,829 --> 00:30:20,109 Se me lo extiende y me lo copia 437 00:30:20,109 --> 00:30:21,430 Ya está 438 00:30:21,430 --> 00:30:22,589 ¿Sí? 439 00:30:22,589 --> 00:30:27,470 En un futuro, esto lo podré hacer como array de objetos 440 00:30:27,470 --> 00:30:29,890 Entonces puedo copiar lo que me da la gana 441 00:30:29,890 --> 00:30:32,369 Un futuro, ¿vale? Por ahora no 442 00:30:32,369 --> 00:30:36,930 Entonces, se me queda el nuevo diagnóstico 443 00:30:36,930 --> 00:30:38,410 Que me dan una enfermedad 444 00:30:38,410 --> 00:30:42,450 Y lo que yo hago es extender mis enfermedades 445 00:30:42,450 --> 00:30:47,329 Y luego añadir en la última posición la nueva enfermedad 446 00:30:47,329 --> 00:30:49,190 Esto es muy claro 447 00:30:49,190 --> 00:30:52,849 ¿Y esto qué es el copia-extiende? 448 00:30:52,849 --> 00:30:59,849 Que me están dando un array, y yo de este array me creo un array nuevo, más grande, lo copio entero y lo devuelvo. 449 00:31:01,250 --> 00:31:11,650 Entonces, cuando llamo esto, lo que estoy haciendo es copiando enfermedades enteros y devolviendo un array que es igual a enfermedades, pero con un espacio vacío al final. 450 00:31:12,670 --> 00:31:15,809 Y en ese espacio vacío es donde guardo la nueva enfermedad. 451 00:31:15,809 --> 00:31:28,769 Vale, porque efectivamente cuando yo hago esto, a partir de aquí, enfermedades ya tienen una posición más. 452 00:31:29,890 --> 00:31:39,089 Si aquí yo tenía 10 enfermedades, después de haber hecho esto, ahora enfermedades son 11 posiciones, que van de la 0 a la 10. 453 00:31:40,109 --> 00:31:45,490 Entonces, si yo le quito esto, él intenta acceder a informe.length que es 11. 454 00:31:45,490 --> 00:31:48,410 Y entonces la posición 11 no la tiene. 455 00:31:48,410 --> 00:31:51,470 Antes lo podía hacer porque estaba usando nuevo 456 00:31:51,470 --> 00:31:53,009 Y nuevo era el más grande 457 00:31:53,009 --> 00:31:54,650 Enfermedades no había cambiado todavía 458 00:31:54,650 --> 00:31:57,569 Hasta que hacía al final enfermedades es igual a nuevo 459 00:31:57,569 --> 00:32:00,190 Enfermedades tenía 10 posiciones 460 00:32:00,190 --> 00:32:02,970 Y nuevo tenía 11 461 00:32:02,970 --> 00:32:06,869 Pero ahora no, porque ahora ya lo he extendido 462 00:32:06,869 --> 00:32:09,509 Entonces cuando paso de esta línea de aquí 463 00:32:09,509 --> 00:32:12,990 Ya esto tiene ya la última posición vacía 464 00:32:12,990 --> 00:32:15,390 Entonces si yo acedo a esta de aquí 465 00:32:15,390 --> 00:32:18,130 Estará intentando acceder a una posición que no existe 466 00:32:18,869 --> 00:32:21,990 Entonces, a la última. 467 00:32:27,160 --> 00:32:27,539 ¿Dudas? 468 00:32:31,420 --> 00:32:35,180 Este de aquí me lo guardo por algún lado. 469 00:32:35,619 --> 00:32:38,519 Si lo hago tendré que copiar y extender otro array. 470 00:32:38,700 --> 00:32:40,079 Pues a lo mejor copio este de aquí. 471 00:32:40,220 --> 00:32:43,119 En vez de enfermedad lo hago de string o de int. 472 00:32:43,279 --> 00:32:44,299 Es siempre esto. 473 00:32:44,819 --> 00:32:46,319 Este de aquí no es la primera vez que lo vemos. 474 00:32:46,960 --> 00:32:47,880 Este mecanismo de aquí. 475 00:32:47,880 --> 00:32:50,420 Por eso también lo guardo fuera. 476 00:32:50,980 --> 00:32:52,819 Porque no me moleste aquí dentro. 477 00:32:52,819 --> 00:33:25,150 Y mis metoditos salgan muy bonitos, ¿vale? Y puedo comentarlo fácilmente poniendo, añado un nuevo espacio para la nueva enfermedad, añado la nueva enfermedad en el último espacio del array. 478 00:33:25,990 --> 00:33:56,549 Pues ya está. Es muy fácil de entender, muy fácil de comentar. ¿Dudas? ¿Vale? Entonces, vamos a crear otros metoditos de paciente, ¿vale? Como por ejemplo, podríamos listar las enfermedades activas, ¿sí? 479 00:33:56,549 --> 00:33:59,730 plan, yo aquí podría 480 00:33:59,730 --> 00:34:01,950 listar todas las enfermedades 481 00:34:01,950 --> 00:34:02,529 que tiene 482 00:34:02,529 --> 00:34:05,529 pero a lo mejor lo que me interesa saber 483 00:34:05,529 --> 00:34:06,690 es que tienes ahora 484 00:34:06,690 --> 00:34:09,429 ¿sí? entonces 485 00:34:09,429 --> 00:34:11,610 ¿qué devuelve este método? 486 00:34:14,349 --> 00:34:15,369 le hacemos devolver una lista 487 00:34:15,369 --> 00:34:17,510 le hacemos devolver un string, le hacemos devolver ¿qué? 488 00:34:19,789 --> 00:34:20,250 un array 489 00:34:20,250 --> 00:34:21,690 boolean