1
00:00:00,840 --> 00:00:03,180
Bien vamos a continuar con nuestro ejercicio.

2
00:00:03,550 --> 00:00:07,840
Ahora vamos a realizar la prueba de la Clase 2 vamos a hacer los cambios respectivos.

3
00:00:07,840 --> 00:00:14,950
En esta clase quitamos estos comentarios y esta clase se encuentra en el mismo paquete que la clase

4
00:00:14,950 --> 00:00:20,330
1 así que vamos a hacer algunas pruebas considerando esta cuestión que están en los nuevos paquetes.

5
00:00:20,380 --> 00:00:28,360
Vamos a crear un constructor público de esta clase 2 va a ser un constructor vacío y lo que vamos a

6
00:00:28,360 --> 00:00:35,980
intentar hacer es acceder al constructor de la Clase 1 así que vamos a lo siguiente prueba de constructores

7
00:00:37,270 --> 00:00:42,530
de la Clase 1 considerando que estamos en el mismo paquete en una clase 2.

8
00:00:42,820 --> 00:00:50,970
En primer lugar vamos a intentar crear un nuevo objeto de la clase 1 y podemos observar que podemos

9
00:00:50,970 --> 00:00:56,880
acceder a los siguientes constructores vamos a dividir nuestras clases para que podamos observar el

10
00:00:56,880 --> 00:00:59,560
código de la clase 1 y de la Clase 2.

11
00:00:59,640 --> 00:01:04,340
Aquí damos clic derecho y seleccionamos documentarlo

12
00:01:14,260 --> 00:01:21,080
y con eso podemos elevar el Código de la clase 1 y vamos a agregar este código de la Clase 2 así que

13
00:01:21,080 --> 00:01:26,240
lo que estamos haciendo en este momento es mandar a llamar el constructor de la Clase 1 el constructor

14
00:01:26,240 --> 00:01:32,430
vació que en este caso es un constructor público así que podemos observar que podemos mandar a llamar

15
00:01:32,430 --> 00:01:39,890
sin ningún problema a este tipo de constructores y posteriormente vamos a intentar llamar el constructor

16
00:01:39,890 --> 00:01:46,670
protegido de la clase 1 el cual tiene dos argumentos así que vamos a mandar a llamar el constructor

17
00:01:47,300 --> 00:01:55,470
de la clase 1 con dos argumentos y podemos observar que el mismo nos proporciona esta ayuda podemos

18
00:01:55,470 --> 00:02:00,660
llamar el constructor con un argumento el cual también es público o el constructor con dos argumentos

19
00:02:06,300 --> 00:02:11,790
pasamos cualquier valor en este caso solamente queremos probar que podemos mandar a llamar este constructor

20
00:02:11,790 --> 00:02:17,910
sin ningún problema así que podemos ver que podemos mandar a llamar este constructor protegido desde

21
00:02:17,910 --> 00:02:24,210
otra clase debido a que estamos en el mismo paquete y ahora vamos a intentar llamar o crear un objeto

22
00:02:24,450 --> 00:02:32,060
de la clase 1 utilizando el constructor de tipo de fought opacas en este caso no estamos asignando estas

23
00:02:32,060 --> 00:02:33,290
variables que estamos creando.

24
00:02:33,320 --> 00:02:38,510
Estos objetos no los estamos asignando a ninguna variable debido a que no nos interese realizar más

25
00:02:38,510 --> 00:02:43,370
acciones con los objetos que vamos a crear de estas clases así que solamente estamos poniendo a prueba

26
00:02:43,730 --> 00:02:51,800
los tipos de constructores que podemos mandar a llamar así que mandamos a llamar el constructor con

27
00:02:51,800 --> 00:02:53,530
tres argumentos de tipo string

28
00:03:02,360 --> 00:03:06,940
y podemos observar que podemos mandar a llamar este constructor sin ningún problema no nos marca ningún

29
00:03:06,940 --> 00:03:13,970
tipo de error aquí simplemente es un warning que nos indica que no estamos asignando este objeto a ninguna

30
00:03:13,970 --> 00:03:19,300
variable ya que como hemos comentado en este momento no nos interesa asignar el objeto que estamos creando

31
00:03:19,330 --> 00:03:26,450
a ninguna variable así que vamos a ignorar ese Guarne y por último vamos a intentar llamar al constructor

32
00:03:26,450 --> 00:03:32,540
privado de la Clase 1 que en este caso recibe 4 argumentos de tipo string así que vamos a apoyarnos

33
00:03:32,540 --> 00:03:39,830
de este código que ya tenemos y le pasamos un cuarto argumento para mandar a llamar el constructor privado

34
00:03:42,860 --> 00:03:51,030
y podemos observar el mensaje que el constructor Clase 1 con 4 argumentos tiene acceso privado de la

35
00:03:51,030 --> 00:03:54,730
clase 1 y por lo tanto nos está marcando error de compilación.

36
00:03:55,140 --> 00:04:00,840
Así que los constructores privados no pueden ser llamados desde otras clases sin importar si estamos

37
00:04:00,840 --> 00:04:02,010
dentro del mismo paquete.

38
00:04:12,620 --> 00:04:16,910
Así que no podemos llamar a constructores privados desde otras clases.

39
00:04:18,850 --> 00:04:24,340
Sin importar si estamos en el mismo paquete bien así que con esto ya estamos poniendo a prueba cada

40
00:04:24,340 --> 00:04:29,300
uno de los constructores de la clase 1 y ahora vamos a poner a prueba los métodos.

41
00:04:29,530 --> 00:04:34,870
Vamos a intentar llamar a los métodos de la clase 1 los métodos que hemos creado

42
00:04:38,760 --> 00:04:44,180
el método público método protegido método de Foll y método privado.

43
00:04:44,190 --> 00:04:45,970
Así que vamos a crear un método.

44
00:04:46,060 --> 00:04:47,460
Public void

45
00:04:50,280 --> 00:04:53,760
prueba desde Clase 2.

46
00:04:55,200 --> 00:04:57,060
Creamos un objeto de la Clase 1

47
00:04:59,900 --> 00:05:01,340
la variable se llama C1

48
00:05:06,090 --> 00:05:14,800
y ahora vamos a intentar acceder a los elementos de esta clase primero a los atributos vamos a ver a

49
00:05:14,800 --> 00:05:16,930
qué tipo de atributo podemos acceder.

50
00:05:16,990 --> 00:05:23,320
Tenemos el atributo pùblico protegido default y privado y vamos a intentar acceder a cada uno de ellos

51
00:05:23,620 --> 00:05:26,660
desde la clase 2.

52
00:05:28,030 --> 00:05:33,340
Vamos a hacer más grande ya esta clase porque ya vamos a tener problemas para visualizar el código así

53
00:05:33,340 --> 00:05:39,760
que vamos a regresar a esta clase de lado izquierdo damos clic derecho y colaboramos para restaurar

54
00:05:39,760 --> 00:05:42,380
los tabuladores del lado izquierdo.

55
00:05:42,820 --> 00:05:44,740
Simplemente presionamos en este icono

56
00:05:55,880 --> 00:06:02,500
y con esto ya hemos restaurado cada uno de los elementos también del lado izquierdo el tabulador de

57
00:06:02,500 --> 00:06:12,740
proyectos archivos y servicios y en la parte inferior en la de Gádor vamos a ampliar este código y vamos

58
00:06:12,740 --> 00:06:20,150
a hacer la prueba vamos a intentar llamar el atributo público de la clase 1.

59
00:06:20,190 --> 00:06:26,060
Todo va a ser referente a la clase 1 así que vamos a utilizar la variable C1 e intentamos acceder al

60
00:06:26,060 --> 00:06:27,260
atributo público.

61
00:06:27,260 --> 00:06:32,870
Podemos observar que incluso Blyde nos muestra que sí podemos acceder así que sin ningún problema en

62
00:06:32,870 --> 00:06:38,080
este caso podemos acceder al atributo público ahora al atributo protegido

63
00:06:43,760 --> 00:06:45,640
también podemos acceder sin ningún problema

64
00:06:55,070 --> 00:06:59,000
el atributo de foll opacas.

65
00:06:59,000 --> 00:07:07,070
Vamos a ver si podemos acceder lo y también nos muestra este atributo de Font así que también sin ningún

66
00:07:07,070 --> 00:07:08,370
problema podemos acceder a

67
00:07:13,580 --> 00:07:15,370
y finalmente el atributo privado

68
00:07:18,940 --> 00:07:23,430
así que escribimos C1 y podemos observar que la idea ya no nos muestra ese atributo.

69
00:07:23,490 --> 00:07:25,800
Incluso si tratamos de escribirlo atributo

70
00:07:28,480 --> 00:07:29,080
privado

71
00:07:31,700 --> 00:07:38,950
élide nos arroja el mensaje que el atributo privado tiene modificador acceso privado en la Clase 1 por

72
00:07:38,950 --> 00:07:42,380
lo tanto no podemos acceder a ese atributo desde otra clase.

73
00:07:42,640 --> 00:07:46,490
Así que todo lo que sea privado no lo vamos a poder acceder desde otra clase.

74
00:07:46,570 --> 00:07:51,910
Solamente desde la misma clase bien y ahora vamos a tratar de acceder a los métodos

75
00:07:54,430 --> 00:07:59,880
imprimimos un sello de línea y tratamos de acceder al método público

76
00:08:05,810 --> 00:08:08,320
por medio de la variable C1.

77
00:08:08,450 --> 00:08:15,380
Llamamos al método público y podemos observar que podemos acceder sin ningún problema a los métodos

78
00:08:15,380 --> 00:08:19,270
públicos o solamente al método protegido.

79
00:08:24,270 --> 00:08:28,920
Seleccionamos el método protegido y también podemos acceder sin ningún problema

80
00:08:32,580 --> 00:08:34,530
el método de foll o package

81
00:08:39,660 --> 00:08:41,740
debido a que estamos en el mismo paquete.

82
00:08:41,850 --> 00:08:44,800
Podemos acceder también sin ningún problema.

83
00:08:45,150 --> 00:08:46,060
Método de FAW

84
00:08:49,220 --> 00:08:52,310
y finalmente el método privado

85
00:08:57,750 --> 00:09:00,070
C1 y tratamos de mandar al método privado.

86
00:09:00,080 --> 00:09:03,800
Podemos observar que ya no lo despliega el IDE y también si lo escribimos

87
00:09:09,360 --> 00:09:14,460
podemos va que nos manda el mensaje que el método privado tiene acceso privado en la clase 1 por lo

88
00:09:14,460 --> 00:09:20,190
tanto no podemos acceder ya que estamos desde otra clase así que con eso estamos haciendo la prueba

89
00:09:20,670 --> 00:09:21,600
de la clase 2.

90
00:09:21,600 --> 00:09:26,680
Vamos a agregar un método main para que podamos ejecutar esta clase.

91
00:09:26,940 --> 00:09:32,610
Vamos a crear un objeto de esta clase Clase 2 creamos el objeto c 2

92
00:09:37,060 --> 00:09:42,610
y con esta línea lo que vamos a hacer es ejecutar el constructor de esta clase de la Clase 2 y vamos

93
00:09:42,610 --> 00:09:48,340
a poder observar que estamos accediendo a cada uno de los constructores de la Clase 1 los constructores

94
00:09:48,340 --> 00:09:55,390
que ya hemos analizado el constructor de públic protected de foll pero ya no podemos acceder al constructor

95
00:09:55,390 --> 00:10:02,290
privado y posteriormente mandamos a llamar el método prueba de clase 2 y con eso se van a ejecutar cada

96
00:10:02,290 --> 00:10:08,320
una de las llamadas a los atributos y los métodos que hemos analizado vamos a guardar cambios y ejecutamos

97
00:10:10,830 --> 00:10:15,690
el resultado va a ser el mismo que ya hemos analizado simplemente para comprobar que esto funciona según

98
00:10:15,780 --> 00:10:17,010
el análisis que hemos hecho.

99
00:10:20,490 --> 00:10:26,910
Así que desde la clase 2 podemos mandar a llamar el constructor vacío que es público de la clase 1 también

100
00:10:26,910 --> 00:10:34,230
el constructor protegido con dos argumentos también el constructor de packages de la clase 1 pero ya

101
00:10:34,230 --> 00:10:38,370
no podemos mandar a llamar el constructor privado de la clase 1.

102
00:10:38,400 --> 00:10:43,080
Posteriormente creamos el objeto para hacer la prueba de los atributos y podemos llevar los atributos

103
00:10:43,080 --> 00:10:48,330
que estamos accediendo el atributo público con el valor de atributo público según hemos establecido

104
00:10:48,810 --> 00:10:49,980
el atributo protegido.

105
00:10:50,000 --> 00:10:55,830
También podemos acceder el default opacas también sin ningún problema pero el atributo privado debido

106
00:10:55,830 --> 00:11:01,660
a que estamos en otra clase aunque estemos en el mismo paquete ya no podemos acceder.

107
00:11:01,720 --> 00:11:05,150
También el método público podemos acceder sin ningún problema.

108
00:11:05,220 --> 00:11:11,130
El método protegido de la clase 1 también el método de foll opacas también podemos acceder sin problema

109
00:11:11,400 --> 00:11:14,250
pero el método privado ya no podemos acceder.

110
00:11:14,910 --> 00:11:20,280
Así que en este caso estamos haciendo el análisis de cada uno de los elementos de cada uno de los modificadores

111
00:11:20,280 --> 00:11:23,000
de acceso que hemos definido en la clase 1.

112
00:11:23,220 --> 00:11:29,430
Pero probándolo desde la clase 2 que se encuentra en el mismo paquete bien vamos a dejar hasta aquí

113
00:11:29,430 --> 00:11:34,440
este vídeo y en el siguiente vídeo vamos a analizar la clase 3 que va a ser una clase e hija de la clase

114
00:11:34,440 --> 00:11:38,190
1 pero en otro paquete nos vemos el siguiente vídeo.

115
00:11:38,190 --> 00:11:38,820
Saludos.
