1 00:00:00,560 --> 00:00:08,699 entonces cuarta parte creo de hoy hemos empezado con un pequeño ejercicio de ejemplo sobre herencia 2 00:00:08,699 --> 00:00:16,760 y los varios temas que hemos visto de forma teórica hemos creado una clase ser vivo donde 3 00:00:16,760 --> 00:00:23,600 las características de ser vivo es tener una edad de tener una especie y seguir vivos vale 4 00:00:23,600 --> 00:00:25,600 tenemos un constructor, tenemos 5 00:00:25,600 --> 00:00:27,739 nuestros getter y setter para poder 6 00:00:27,739 --> 00:00:28,780 trabajar con estas 7 00:00:28,780 --> 00:00:31,960 cosas, deberíamos mejorarlo un poco 8 00:00:31,960 --> 00:00:33,880 como por ejemplo el set de add no debería 9 00:00:33,880 --> 00:00:35,799 ser negativo, etc, etc, pero todas estas 10 00:00:35,799 --> 00:00:37,780 cosas ya las hemos visto varias veces, vale 11 00:00:37,780 --> 00:00:39,820 no me pongo aquí a perder tiempo en eso 12 00:00:39,820 --> 00:00:42,179 tenemos 13 00:00:42,179 --> 00:00:43,899 un método comer 14 00:00:43,899 --> 00:00:45,280 que te dice que 15 00:00:45,280 --> 00:00:47,179 este ser vivo come algo 16 00:00:47,179 --> 00:00:49,560 en este caso come 17 00:00:49,560 --> 00:00:51,679 nada más, en este caso le especifico 18 00:00:51,679 --> 00:00:59,479 que va comiendo y luego tenemos el morir que es esta sede viva falsa vale entonces a partir de 19 00:00:59,479 --> 00:01:05,040 este ser vivo hemos creado una planta vale la planta estén de ser vivo hemos hablado antes 20 00:01:05,040 --> 00:01:12,420 del hecho que si no le pongo un constructor se enfada porque el constructor por defecto de planta 21 00:01:12,420 --> 00:01:15,519 irá a buscar, hará una llamada 22 00:01:15,519 --> 00:01:17,900 a super sin parámetro 23 00:01:17,900 --> 00:01:21,219 a super sin parámetro 24 00:01:21,219 --> 00:01:24,920 y por lo tanto, como en Servivo no existe 25 00:01:24,920 --> 00:01:27,500 el constructor 26 00:01:27,500 --> 00:01:30,120 sin parámetros, pues se enfada, dice 27 00:01:30,120 --> 00:01:32,799 oye, no lo puedo hacer, entonces para obviar esto 28 00:01:32,799 --> 00:01:36,219 hemos creado un constructor 29 00:01:36,219 --> 00:01:39,200 que pilla por ahora especie y llama 30 00:01:39,200 --> 00:01:41,760 el constructor de la clase Servivo 31 00:01:41,760 --> 00:01:43,760 pero con su parámetro 32 00:01:43,760 --> 00:01:45,459 y por lo tanto ya está funcionando 33 00:01:45,459 --> 00:01:47,739 ahora, hasta aquí hemos llegado 34 00:01:47,739 --> 00:01:49,859 ahora tenemos que seguir con nuestro 35 00:01:49,859 --> 00:01:51,579 trabajo, ¿qué es? 36 00:01:53,819 --> 00:01:55,400 ¿qué es lo que 37 00:01:55,400 --> 00:01:58,079 todas las plantas 38 00:01:58,079 --> 00:01:58,840 tienen 39 00:01:58,840 --> 00:02:01,340 y que los diferencia 40 00:02:01,340 --> 00:02:03,599 de los otros seres vivos? 41 00:02:03,599 --> 00:02:05,519 ¿qué tiene una planta más 42 00:02:05,519 --> 00:02:07,500 con respecto a un ser vivo? 43 00:02:11,030 --> 00:02:12,330 ¿qué parámetro 44 00:02:12,330 --> 00:02:13,629 es el de las vegetales? 45 00:02:13,629 --> 00:02:17,509 ¿Qué quieres saber? ¿El número de cerdas vegetales que tiene? 46 00:02:19,370 --> 00:02:30,090 O sea, vamos a ver, no estamos en biología, estamos en informática, estamos haciendo un programa que modeliza plantas y usará plantas. 47 00:02:30,210 --> 00:02:40,860 No lo sé si por una cosa científica, biológica, o por una tienda de plantas, o qué sé yo, lo podemos poner. 48 00:02:40,860 --> 00:02:44,840 Pero no estamos en los métodos, estamos en las características, en los atributos. 49 00:02:44,840 --> 00:02:51,340 Entonces, ¿qué atributos podría añadir a una planta que no todos los ser vivos tienen, pero a todas las plantas sí? 50 00:02:51,699 --> 00:02:57,250 O sea, una especificación de ser vivo dentro de planta. 51 00:02:57,270 --> 00:02:58,849 Pero hay que... ¿qué le ponemos? 52 00:03:01,460 --> 00:03:02,180 Intraíces. 53 00:03:06,000 --> 00:03:06,479 Sí. 54 00:03:07,599 --> 00:03:13,479 Pero por eso no he puesto boolean raíces, porque esto sería... ¿y qué me sirve? 55 00:03:13,960 --> 00:03:18,199 Pero me interesa muchísimo saber cuántas raíces tienen. 56 00:03:18,580 --> 00:03:19,479 Pues intraíces. 57 00:03:19,479 --> 00:03:22,879 3, 4, 7, 9, 100, 7000 58 00:03:22,879 --> 00:03:24,039 No lo sé 59 00:03:24,039 --> 00:03:28,240 Altura, ¿vale? 60 00:03:28,419 --> 00:03:29,400 Pongamos altura 61 00:03:29,400 --> 00:03:31,039 Inta altura 62 00:03:31,039 --> 00:03:36,090 Entendido de la altura actual de esta planta 63 00:03:36,090 --> 00:03:41,810 No la altura máxima 64 00:03:41,810 --> 00:03:42,629 Sí, pero 65 00:03:42,629 --> 00:03:47,669 Vale, aquí entramos en la filosofía 66 00:03:47,669 --> 00:03:52,110 ¿Planta para vosotros es una planta concreta? 67 00:03:52,110 --> 00:03:56,110 ¿O representa una clase de plantas? 68 00:03:56,110 --> 00:04:05,490 Plantas. Porque yo pensaba en una planta concreta. Entonces no tiene altura máxima, tiene altura actual. 69 00:04:06,370 --> 00:04:15,090 Pero tú me estás diciendo una taxonomía y planta para ti es la abstracción de la planta, es el plátano de paseo. 70 00:04:15,210 --> 00:04:20,829 El plátano de paseo tiene esta altura máxima, tiene esta característica. Pues entonces es otra cosa. 71 00:04:21,410 --> 00:04:28,149 Yo estoy pensando en un objeto como ese árbol de allí. Tú estás pensando en un objeto como todos los árboles de esa especie. 72 00:04:28,149 --> 00:04:29,250 Entonces, no lo sé 73 00:04:29,250 --> 00:04:31,930 No es que tú estás mal y yo más bien o al revés 74 00:04:31,930 --> 00:04:34,089 Tenemos que decidir qué hacemos 75 00:04:34,089 --> 00:04:38,399 En tal altura, perfecto 76 00:04:38,399 --> 00:04:39,199 En centímetros 77 00:04:39,199 --> 00:04:41,779 Y luego le ponemos 78 00:04:41,779 --> 00:04:44,959 Bolean siempre verde 79 00:04:44,959 --> 00:04:46,139 Se dice siempre verde 80 00:04:46,139 --> 00:04:49,550 Pero 81 00:04:49,550 --> 00:04:57,310 Si es true, hay que no perder las hojas 82 00:04:57,310 --> 00:04:59,089 Si es falsa, hay que perder las hojas 83 00:04:59,089 --> 00:05:00,850 ¿Sí? Y ya está 84 00:05:00,850 --> 00:05:02,290 No nos vamos a complicar 85 00:05:02,290 --> 00:05:04,069 Podemos poner 7000 de estas 86 00:05:04,069 --> 00:05:05,170 Pero luego cuando tengo que hacer 87 00:05:05,170 --> 00:05:07,610 el constructor tengo que inventarme 88 00:05:07,610 --> 00:05:09,290 7000 parámetros y no quiero 89 00:05:09,290 --> 00:05:11,709 ¿vale? entonces string 90 00:05:11,709 --> 00:05:16,329 especie, cuando creo 91 00:05:16,329 --> 00:05:18,269 una planta, le digo 92 00:05:18,269 --> 00:05:20,790 la especie, le digo 93 00:05:20,790 --> 00:05:23,629 la altura, ¿cómo no? 94 00:05:24,670 --> 00:05:25,610 le digo 95 00:05:25,610 --> 00:05:29,959 si es perenne 96 00:05:29,959 --> 00:05:31,980 y 97 00:05:31,980 --> 00:05:34,740 como en nuestra visión, porque lo hemos 98 00:05:34,740 --> 00:05:36,740 decidido así, es esa planta 99 00:05:37,259 --> 00:05:37,680 de allí 100 00:05:37,680 --> 00:05:44,759 Y como no quiero que todas las plantas, cuando las quiero, tengan altura cero ya, ¿vale? 101 00:05:45,480 --> 00:05:52,839 Puedo crear, porque esto yo luego en mi jardín puedo hacer un listado de las plantas de mi jardín, ¿sí? 102 00:05:53,480 --> 00:06:02,269 Pues lo que voy a añadir aquí es la edad, ¿ok? 103 00:06:02,629 --> 00:06:06,370 Entonces, yo llamo el de arriba, ¿vale? 104 00:06:06,370 --> 00:06:08,569 A este punto 105 00:06:08,569 --> 00:06:10,870 Lo que hago es que 106 00:06:10,870 --> 00:06:12,850 Dis.especie 107 00:06:12,850 --> 00:06:14,290 No, no, ya lo he hecho 108 00:06:14,290 --> 00:06:15,790 Dis.altura 109 00:06:15,790 --> 00:06:18,009 Es igual a altura 110 00:06:18,009 --> 00:06:21,350 Dis.perenne 111 00:06:21,350 --> 00:06:26,750 Es igual a perenne 112 00:06:26,750 --> 00:06:28,689 Y claramente 113 00:06:28,689 --> 00:06:29,910 Dis.edad 114 00:06:29,910 --> 00:06:32,430 Es igual a edad 115 00:06:32,430 --> 00:06:38,149 Que ha pasado 116 00:06:38,149 --> 00:06:48,939 Que ha pasado 117 00:06:49,939 --> 00:06:51,480 Ah, siempre los mismos dos. 118 00:06:52,459 --> 00:06:53,379 ¿A los demás qué hacen? 119 00:06:54,079 --> 00:06:56,639 Pablo, al fondo, ¿qué han...? 120 00:06:56,639 --> 00:06:57,680 ¿Sois cambiado? 121 00:06:59,060 --> 00:07:00,439 No, al otro Pablo. 122 00:07:01,459 --> 00:07:03,199 ¿Qué pasa aquí? 123 00:07:07,889 --> 00:07:09,750 ¿Qué pasa aquí? Esa es la pregunta. 124 00:07:10,709 --> 00:07:11,709 ¿Por qué está este error? 125 00:07:16,620 --> 00:07:17,100 ¿Lo veis? 126 00:07:20,709 --> 00:07:21,230 Ah...