1 00:00:10,120 --> 00:00:16,250 Hola Te saludo nuevamente igual Costa espero que estén listos para comenzar con esta elección. 2 00:00:16,300 --> 00:00:21,550 A continuación vamos a estudiar el tema de la escritura de métodos en Java están listos. 3 00:00:21,550 --> 00:00:31,370 Vamos sobre escritura en la vida real vamos a estudiar ahora el concepto de escritura de métodos en 4 00:00:31,370 --> 00:00:38,240 Java pero veamos primero el concepto de cómo sucede esto en el mundo real y posteriormente explicaremos 5 00:00:38,390 --> 00:00:41,480 cómo aplicar este concepto en código Java. 6 00:00:41,690 --> 00:00:48,260 La cobertura de métodos tiene que ver con el concepto de herencia y se trata básicamente de la modificación 7 00:00:48,350 --> 00:00:53,540 de un método desde una clase e hija a un método heredado de la clase padre. 8 00:00:53,540 --> 00:00:59,690 Por ejemplo en la vida real podemos observar que el talento de cantar se puede heredar de madre a hija 9 00:01:00,590 --> 00:01:06,440 sin embargo aunque la hija pueda cantar similar a la madre debido a que ha heredado varias características 10 00:01:06,440 --> 00:01:13,040 de la madre por lo tanto el acto de cantar se adecua a la forma de la hija y su capacidad para explotar 11 00:01:13,040 --> 00:01:20,520 este talento por lo tanto el acto de cantar se adecúa a las características de la hija y su capacidad 12 00:01:20,520 --> 00:01:22,860 para explotar este talento. 13 00:01:22,860 --> 00:01:27,960 De igual manera la reescritura de métodos tiene que ver con la modificación de un método por parte de 14 00:01:27,960 --> 00:01:32,770 la clase e hija de algún método que ha sido heredado por la clase padre. 15 00:01:32,790 --> 00:01:38,640 De allí el nombre de su escritura ya que el hijo vuelve a escribir nuevamente el comportamiento del 16 00:01:38,640 --> 00:01:44,360 método heredado de la clase padre para adaptarlo a sus propias necesidades. 17 00:01:44,510 --> 00:01:47,840 Veamos a continuación cómo se realiza esta función en IAVA 18 00:01:50,570 --> 00:01:52,260 sobre escritura de métodos en Java 19 00:01:57,800 --> 00:02:03,760 como hemos comentado la escritura de métodos aplica si existe una clase padre y una clase hija. 20 00:02:03,770 --> 00:02:09,710 Como observamos en la figura tenemos dos clases una clase padre llamada empleado y una clase hija llamada 21 00:02:09,710 --> 00:02:10,250 gerente. 22 00:02:10,760 --> 00:02:17,170 Veamos un ejemplo de código de ambas clases así que tenemos nuestro diagrama en este caso tenemos una 23 00:02:17,170 --> 00:02:21,500 clase padre llamada empleado y tenemos una clase hija llamada gerente. 24 00:02:21,700 --> 00:02:24,420 La clase empleado tiene las siguientes características. 25 00:02:24,550 --> 00:02:31,870 Ha definido tres atributos de tipo protected llamado nombre puesto y nivel cada uno con los tipos respectivos 26 00:02:31,870 --> 00:02:33,130 según se indica. 27 00:02:33,330 --> 00:02:38,500 Y también estamos agregando la definición del método obtener detalles. 28 00:02:38,500 --> 00:02:45,250 Este método es público y regresa un tipo destruí y podemos observar que básicamente se genera una cadena 29 00:02:45,520 --> 00:02:50,200 indicando cada uno de los atributos nombre puesto y nivel de la clase empleado. 30 00:02:50,440 --> 00:02:54,950 Así que esa es la definición del método obtener detalles de la clase padre. 31 00:02:55,270 --> 00:02:59,940 Pero ahora veamos cómo una clase hija puede sobreescribir este comportamiento. 32 00:03:00,280 --> 00:03:06,880 Podemos observar que tenemos una clase llamada gerente la cual extiende la clase empleado así que la 33 00:03:06,880 --> 00:03:12,070 clase gerente se convierte en una clase hija y esta clase es de tipo pública. 34 00:03:12,130 --> 00:03:15,390 Posteriormente esta clase de gerente agrega un nuevo atributo. 35 00:03:15,490 --> 00:03:21,970 En este caso el atributo de departamento el cual es privado y de tipo destruí podemos observar que en 36 00:03:21,970 --> 00:03:28,570 este momento estamos sobre escribiendo el método definido en la clase padre así que ya no se va a utilizar 37 00:03:28,570 --> 00:03:31,260 más el método heredado de la clase padre. 38 00:03:31,270 --> 00:03:35,530 Obtener detalles sino que ahora va a aplicar el método de la Clase E HIJA. 39 00:03:35,560 --> 00:03:37,180 Obtener detalles. 40 00:03:37,510 --> 00:03:43,060 Por ello nuestro IDE nos puede agregar un indicador de que estamos escribiendo un método de la clase 41 00:03:43,060 --> 00:03:50,470 padre y esto significa overnight y observamos que el comportamiento de este método es muy similar al 42 00:03:50,470 --> 00:03:51,520 de la clase padre. 43 00:03:51,550 --> 00:03:58,030 Sin embargo estamos agregando el nuevo atributo de la clase empleado así que como hemos visto una subclase 44 00:03:58,030 --> 00:04:01,900 puede modificar el comportamiento heredado de una clase padre. 45 00:04:01,900 --> 00:04:08,740 La firma del método escrito por una subclase debe ser igual que el padre tanto el nombre tipo de retorno 46 00:04:08,950 --> 00:04:10,810 y lista de argumentos. 47 00:04:10,810 --> 00:04:17,080 Esta es una regla para que se cumpla y respete el concepto de escritura así que podemos observar que 48 00:04:17,080 --> 00:04:23,680 la firma del método en la clase padre es públic es Trunk y no reciben ningún argumento por lo tanto 49 00:04:23,680 --> 00:04:30,580 también en la clase hija estamos definiendo que sea públic es Trunk y también no reciben ningún argumento 50 00:04:32,250 --> 00:04:38,190 por lo tanto tanto el nombre el tipo de retorno y la lista de argumentos deben de ser iguales en una 51 00:04:38,190 --> 00:04:43,430 clase que describa a un método de la clase padre en la firma del método. 52 00:04:43,490 --> 00:04:50,030 Lo único que puede variar es el modificador de acceso pero un método sobre escrito no puede ser menos 53 00:04:50,030 --> 00:04:52,770 accesible que el método que escribe. 54 00:04:52,820 --> 00:04:59,150 Por ejemplo si el método del padre es públic no puede cambiarse a protected en la clase hija y mucho 55 00:04:59,150 --> 00:05:06,200 menos a Privat sin embargo si este método en una clase padre fuera protected en la clase hija sí podría 56 00:05:06,200 --> 00:05:13,070 ser públic es decir que lo podemos hacer menos restrictivo en la clase e hija pero no más restrictivo 57 00:05:14,450 --> 00:05:19,340 por lo tanto en este caso el modificador de acceso Públic de la clase padre el único modificador de 58 00:05:19,340 --> 00:05:25,310 acceso que podríamos utilizar debido a que es el menos restrictivo en este caso en la clase hija también 59 00:05:25,310 --> 00:05:26,630 sería pública. 60 00:05:26,660 --> 00:05:29,750 No podemos poner uno más restrictivo. 61 00:05:29,750 --> 00:05:34,910 A continuación vamos a crear un ejercicio para poner en práctica este concepto de escritura de métodos 62 00:05:34,970 --> 00:05:35,380 en Yahoo.