1
00:00:01,250 --> 00:00:04,430
Vamos a continuar vamos a revisar ahora la clase 4

2
00:00:07,480 --> 00:00:08,980
vamos a quitar estos comentarios

3
00:00:12,650 --> 00:00:17,870
recordemos que la clase 4 es una clase que se encuentra en otro paquete pero que no hace extent de la

4
00:00:17,870 --> 00:00:23,900
Clase 1 así que básicamente es una clase que no tiene nada que ver con la clase 1 y además se encuentra

5
00:00:23,930 --> 00:00:25,110
en otro paquete.

6
00:00:25,280 --> 00:00:30,140
Por lo tanto vamos a encontrar las mayores restricciones cuando estamos trabajando con clases que se

7
00:00:30,140 --> 00:00:36,920
encuentran en otros paquetes y que no son clases hijas de la clase que queremos utilizar así que básicamente

8
00:00:37,010 --> 00:00:42,430
vamos a ver cada una de las restricciones vamos a crear un constructor de esta clase

9
00:00:47,840 --> 00:00:56,110
creamos el constructor vació y vamos a apoyarnos de la Clase 3 para hacer las pruebas que ya hemos hecho

10
00:00:56,170 --> 00:01:02,890
en la Clase 3 pero ahora hacia la clase 4 vamos a importar la clase 1 que se encuentra en el paquete

11
00:01:02,890 --> 00:01:05,170
1 damos formato

12
00:01:09,270 --> 00:01:15,070
y vamos a hacer las pruebas de los constructores de la Clase 1 en este caso súper ya no lo podemos utilizar

13
00:01:15,310 --> 00:01:21,940
debido a que la clase IV no extiende de la Clase 1 por lo tanto ya no podemos hacer uso de la palabra

14
00:01:21,940 --> 00:01:29,880
súper ya que súper únicamente lo podemos utilizar cuando hacemos extensión de alguna clase así que vamos

15
00:01:29,880 --> 00:01:36,300
a quitar esta línea y podemos ver que lo único que podemos hacer es mandar a llamar al constructor público

16
00:01:36,510 --> 00:01:42,420
de la clase 1 si intentamos mandar a llamar el constructor protegido podemos observar que nos marca

17
00:01:42,420 --> 00:01:51,230
error el constructor de falopa package también ya nos marca error y también si intentamos mandar a llamar

18
00:01:51,260 --> 00:01:56,960
el constructor privado así que ya no podemos hacer ninguna llamada de este tipo solamente podemos utilizar

19
00:01:57,170 --> 00:02:05,480
el constructor público de la clase 1 bien como siguiente paso vamos a poner a prueba cada uno de los

20
00:02:05,480 --> 00:02:09,560
atributos y métodos para ello podemos apoyarnos también de la clase 3

21
00:02:12,980 --> 00:02:17,630
vamos a copiar este método vamos a la clase 4

22
00:02:21,530 --> 00:02:28,590
y pegamos el método prueba desde la clase pero vamos a cambiar el nombre prueba desde la clase 4 modificamos

23
00:02:28,650 --> 00:02:34,470
este código para hacer la llamada utilizando el objeto pero podemos observar que de ninguna forma

24
00:02:38,530 --> 00:02:45,390
se puede mandar a llamar los atributos protegidos bien vamos a analizarlo lo que sí podemos hacer es

25
00:02:45,450 --> 00:02:52,020
mandar a llamar los atributos públicos de la clase 1 precisamente por el concepto de públic pero el

26
00:02:52,020 --> 00:02:58,050
atributo protegido debido a que ya estamos en otra clase y no hace extent de la clase 1 entonces no

27
00:02:58,050 --> 00:03:05,190
podemos acceder al atributo protegido ya sea utilizando la referencia de la variable objeto 1 o mandarlo

28
00:03:05,190 --> 00:03:12,200
a llamar directamente al atributo de ninguna forma podemos hacer uso de ese atributo protegido así que

29
00:03:12,200 --> 00:03:18,290
vamos a poner entre comentarios este código para que nos pueda compilar la clase posteriormente si tratamos

30
00:03:18,290 --> 00:03:24,340
de mandar a llamar el atributo de fought opacas tampoco podemos mandarlo a llamar y nos manda el mensaje

31
00:03:24,340 --> 00:03:30,110
de que el atributo de foll no es público en la clase 1 por lo tanto no puede ser accedido desde otro

32
00:03:30,110 --> 00:03:30,700
paquete

33
00:03:33,830 --> 00:03:39,410
así que ponemos entre comentarios esta línea y nos manda el mensaje de que ese atributo está marcado

34
00:03:39,410 --> 00:03:45,290
como privado en la clase 1 por lo tanto no lo podemos acceder desde otra clase y mucho menos desde otro

35
00:03:45,290 --> 00:03:47,860
paquete.

36
00:03:47,970 --> 00:03:54,150
Y por último vamos a analizar los métodos en este caso mandamos a llamar al método público podemos observar

37
00:03:54,150 --> 00:03:57,660
que podemos mandar a llamar el método público sin ningún problema.

38
00:03:57,870 --> 00:04:04,480
El método público declarado en la clase 1 pero el método marcado como protegido ya no podemos acceder.

39
00:04:04,530 --> 00:04:10,170
Ya sea con la referencia de la variable o sin la referencia debido a que ya no estamos haciendo extensión

40
00:04:10,350 --> 00:04:18,910
de la clase 1 así que ya no podemos mandar a llamar atributos o métodos marcados como protegidos y nos

41
00:04:18,910 --> 00:04:26,240
manda el mensaje de que este método está marcado como protegido en la clase 1 y vamos a ponerlo entre

42
00:04:26,240 --> 00:04:33,570
comentarios para que podamos compilar y ahora vamos a analizar el método de Follo package.

43
00:04:33,570 --> 00:04:38,910
De igual manera nos marca que este método no está marcado como público en la Clase 1 por lo tanto no

44
00:04:38,910 --> 00:04:40,650
puede ser accedidos desde otro paquete

45
00:04:45,940 --> 00:04:53,570
y finalmente el método marcado como privado nos indica que este método está marcado como privado en

46
00:04:53,570 --> 00:05:01,020
la Clase 1 por lo tanto tampoco lo podemos acceder desde otra clase y menos desde otro paquete así que

47
00:05:01,020 --> 00:05:03,240
se debe hacer la prueba con más restricciones

48
00:05:05,890 --> 00:05:15,560
vamos a agregar un método main creamos un objeto de la clase 4 llamado Ce4

49
00:05:22,460 --> 00:05:33,650
y mandamos a llamar la prueba desde Clase 4 damos un formato guardamos cambios y ejecutamos y básicamente

50
00:05:33,650 --> 00:05:39,530
vamos a comprobar lo que ya hemos explicado desde la clase 4 únicamente podemos utilizar el constructor

51
00:05:39,530 --> 00:05:41,330
público de la clase 1.

52
00:05:41,900 --> 00:05:44,760
Posteriormente volvemos a tener un objeto de la clase 1.

53
00:05:44,930 --> 00:05:50,840
Por ello se vuelve a imprimir el valor constructor público vacío y podemos observar que ya únicamente

54
00:05:50,840 --> 00:05:57,050
podemos acceder al atributo público valor atributo públicos lo que nos muestra ya no podemos acceder

55
00:05:57,170 --> 00:06:04,670
a ningún otro tipo de atributo ya sea marcado como protegido de foll opacas y también los métodos únicamente

56
00:06:04,670 --> 00:06:11,590
podemos acceder al método público ya no podemos acceder a los métodos marcados como protected de foll

57
00:06:11,750 --> 00:06:19,150
opacas y tampoco a los métodos privados definidos en la clase 1 así que con esto ya hemos puesto en

58
00:06:19,150 --> 00:06:21,720
práctica cada una de las posibilidades.

59
00:06:21,790 --> 00:06:26,950
Cuando estamos trabajando con los modificadores de acceso en IAVA hemos visto cómo aplica a cada uno

60
00:06:26,950 --> 00:06:33,580
de esos elementos ya sea en los constructores en los atributos o en los métodos y también cómo afecta

61
00:06:33,760 --> 00:06:40,360
a cada una de las clases definidas ya sea dentro de los mismos paquetes o definidas en otros paquetes.

62
00:06:40,360 --> 00:06:46,540
Incluso también analizamos el caso cuando una clase desde otro paquete extiende la clase a la cual queremos

63
00:06:46,540 --> 00:06:52,840
acceder y vimos cada una de las restricciones utilizando los modificadores de acceso en Java Public

64
00:06:52,930 --> 00:06:59,350
protected default o Package y finalmente Priede bien eso es todo por este ejercicio y nos vemos en la

65
00:06:59,350 --> 00:07:00,400
siguiente elección.

66
00:07:00,400 --> 00:07:00,970
Saludos.
