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.
