1
00:00:00,360 --> 00:00:02,230
Veamos otro ejemplo cómo pasar por referencia?

2
00:00:02,280 --> 00:00:07,080
Pero ahora, con un objeto propio nuestro, vamos a crear una clase personalizada, pero todavía sin

3
00:00:07,080 --> 00:00:10,950
entrar en muchos detalles, solamente para que vean el efecto de pasar por referencias.

4
00:00:11,120 --> 00:00:13,230
Y cómo cambia el Estado.

5
00:00:13,350 --> 00:00:15,480
El valor del objeto en el método.

6
00:00:15,660 --> 00:00:21,510
Por ejemplo, si lo modificamos en el método 3, pero también va afectar, hagan modificarse en el método

7
00:00:21,510 --> 00:00:21,740
main.

8
00:00:21,840 --> 00:00:23,160
Por lo tanto de referencia.

9
00:00:23,580 --> 00:00:26,730
Vamos a copiar entonces esta clase pasar por referencia.

10
00:00:27,900 --> 00:00:28,850
Y la vamos a modificar.

11
00:00:28,940 --> 00:00:33,020
Pasar por referencia, la copiamos, la pegamos.

12
00:00:34,470 --> 00:00:35,650
Vamos a colocar dos.

13
00:00:37,290 --> 00:00:42,540
Perfecto estado, acá la cerramos ya solamente pasar por referencia a dos.

14
00:00:42,610 --> 00:00:45,030
Primero vamos a crear una clase de carrera.

15
00:00:45,360 --> 00:00:51,120
Pero recuerden, sin entrar en detalle, porque más adelante vamos a profundizar el tema de clases y

16
00:00:51,120 --> 00:00:51,690
objetos.

17
00:00:52,890 --> 00:01:00,600
Por ejemplo, una clase persona, algo simple, aunque lo ideal y recomendado es siempre crear una clase

18
00:01:01,080 --> 00:01:05,370
en un archivo separado, por ejemplo en el archivo persona punteada.

19
00:01:05,760 --> 00:01:11,880
Pero para este ejemplo, como algo simple, lo vamos a crear dentro de la misma clase o mismo archivo

20
00:01:11,880 --> 00:01:13,560
de la clase pasar por referenciados.

21
00:01:14,130 --> 00:01:17,250
Entonces vamos a tener la clase persona y la clase.

22
00:01:17,280 --> 00:01:22,800
Pasar por referencia a dos de la clase de persona la vamos a ocupar acá, la vamos a instancias con

23
00:01:22,800 --> 00:01:30,630
el operador nio bien va a tener un atributo, también conceptos de visibilidad.

24
00:01:30,780 --> 00:01:33,900
Los atributos o variables de la clase también.

25
00:01:33,900 --> 00:01:38,550
Después la vamos a profundizar mucho más ahora solamente en un resumen, pero tiene modificadores de

26
00:01:38,550 --> 00:01:39,030
acceso.

27
00:01:39,090 --> 00:01:45,090
Pueden ser privadas, es decir, solamente se pueden manipular, leer y modificar en la propia clase

28
00:01:45,270 --> 00:01:48,360
dentro de los métodos, pero no se pueden modificar desde afuera.

29
00:01:48,450 --> 00:01:51,460
Y tampoco no se puede acceder ni leer desde afuera.

30
00:01:51,630 --> 00:01:56,940
Entonces, como buena práctica, implementar el principio de visibilidad con el modificador privat.

31
00:01:57,210 --> 00:02:02,430
Después vamos a ver más en detalle, pero por ahora variable privat de la clase de persona.

32
00:02:03,840 --> 00:02:13,650
El tipo nombre entonces un atributo de una clase consta básicamente de tres partes la visibilidad o

33
00:02:13,650 --> 00:02:19,440
modificador de acceso, el tipo que ya lo hemos visto y el nombre también lo hemos visto.

34
00:02:20,130 --> 00:02:25,020
Perfecto entonces, ahora para poder modificar esta variable la vamos a realizar dentro de un veto.

35
00:02:25,110 --> 00:02:31,560
Un método especial para modificar el atributo nombre, entonces tiene que ser del tipo público para

36
00:02:31,560 --> 00:02:35,940
que lo podamos acceder en cualquier parte, desde dentro y fuera del objeto.

37
00:02:36,010 --> 00:02:36,180
Entonces?

38
00:02:36,390 --> 00:02:43,500
Public Void no Retornã nada, no devuelve ningún valor, solamente modifica el atributo nombre y el

39
00:02:43,500 --> 00:02:44,160
nombre método.

40
00:02:45,390 --> 00:02:48,620
Modifica el nombre, recibe streeck.

41
00:02:50,310 --> 00:03:01,920
Con este nuevo nombre nuevo nombre por ejemplo ñaca, nombre que corresponde a este atributo y le asignamos

42
00:03:02,400 --> 00:03:05,250
este nuevo valor que se pasa por argumento.

43
00:03:08,820 --> 00:03:15,680
También se utiliza para hacer referencia a, y corresponde a un elemento, en este caso a un atributo

44
00:03:15,800 --> 00:03:22,280
de la clase que se llama nombre, entonces disputo nombre DIS se refiere a esta misma clase o instancia.

45
00:03:22,520 --> 00:03:23,720
Disputo nombre.

46
00:03:25,390 --> 00:03:32,300
Y le asignamos un nuevo valor, entonces esta forma podemos cambiar y modificar el valor de nombre de

47
00:03:32,300 --> 00:03:33,050
la clase persona.

48
00:03:34,730 --> 00:03:40,220
Entonces ahora vamos a crear a cada persona, vamos a modificar persona.

49
00:03:42,180 --> 00:03:49,100
Persona Voy a quitar este arreglo Niu persona perfecto.

50
00:03:49,450 --> 00:03:55,800
Hoy creamos una instancia, un objeto de la clase persona, por lo tanto ahora le damos un nombre.

51
00:03:57,180 --> 00:03:57,840
Punto.

52
00:03:57,930 --> 00:04:03,180
Modificar el nombre o asignar nombre, por ejemplo, Andrés.

53
00:04:04,540 --> 00:04:08,450
Entonces otra persona se llama Andrés Recuerden, todavía sin entrar en muchos detalles.

54
00:04:08,500 --> 00:04:14,600
Solamente lo importante, que comprendan que creamos un objeto persona con un nombre nada más y le cinnamon

55
00:04:14,610 --> 00:04:14,950
nombre.

56
00:04:15,490 --> 00:04:21,370
Ahora en vez del foro, porque no es un arreglo, vamos a imprimir el nombre de esta persona.

57
00:04:22,810 --> 00:04:26,470
Si se fijan persona punto solamente me muestra el método.

58
00:04:26,470 --> 00:04:29,600
Modifica el nombre y los métodos de la clase objeto.

59
00:04:29,740 --> 00:04:34,150
Recuerden que toda clase de yaga también es de un tipo de la clase.

60
00:04:34,150 --> 00:04:39,070
Doggett, por lo tanto tiene el método Trig, el licuarse class que lo vimos.

61
00:04:39,160 --> 00:04:40,870
En fin, métodos en común.

62
00:04:41,020 --> 00:04:47,980
Pero si quiero mostrar, por ejemplo, nombre, el atributo me marca un error porque no es accesible,

63
00:04:48,610 --> 00:04:50,530
no se puede acceder porque es privado.

64
00:04:51,320 --> 00:04:54,580
Ahora recuerden esto, no lo hagan solamente para que lo visualicen.

65
00:04:55,820 --> 00:04:56,980
Se colocó públic.

66
00:04:57,480 --> 00:05:04,190
Ahí se puede leer porque de acceso público se puede acceder y leer y modificar desde cualquier parte

67
00:05:04,190 --> 00:05:04,760
de la aplicación.

68
00:05:04,900 --> 00:05:11,110
Pero lo importante, como buena práctica, es respetar el principio de visibilidad, pero también es

69
00:05:11,110 --> 00:05:17,200
conocido como principio de ocultación, que dice que toda variable de una clase debe ser privada y solamente

70
00:05:17,200 --> 00:05:21,090
se puede modificar mediante métodos, siempre y cuando sea modificable.

71
00:05:21,250 --> 00:05:26,170
En este caso vamos a modificar el nombre, por lo tanto, podemos implementar métodos que nos permitan

72
00:05:26,170 --> 00:05:31,750
cambiar el estado del objeto, los valores y también obtenerlos.

73
00:05:32,620 --> 00:05:34,300
Voy a volver acá a Privat.

74
00:05:35,590 --> 00:05:42,400
Esto es como un preview de lo que vamos a hacer después en la parte en la sección de programación orientada

75
00:05:42,400 --> 00:05:43,580
objetos en Java.

76
00:05:43,750 --> 00:05:49,900
Entonces, ahora para poder leer también tengo que tener un método que sea público, que permita retornar

77
00:05:49,960 --> 00:05:51,670
este valor para que se pueda leer.

78
00:05:52,930 --> 00:06:03,490
Públic devuelve el nombre del tipo es Trenc leer nombre ratón devuelve.

79
00:06:03,610 --> 00:06:09,370
Retornamos nombre la variable o atributo la clase nombre.

80
00:06:09,670 --> 00:06:14,320
También de forma opcional se puede colocar tiz también.

81
00:06:14,320 --> 00:06:19,120
Después vamos a ver que el se utiliza para hacer referencia a un elemento o atributo, tal como había

82
00:06:19,130 --> 00:06:21,400
explicado, pero se puede omitir.

83
00:06:21,490 --> 00:06:28,660
Por ejemplo, se podría emitir acá siempre y cuando no exista otra variable o argumento que lleve el

84
00:06:28,660 --> 00:06:29,200
mismo nombre.

85
00:06:29,260 --> 00:06:32,710
En este caso, el argumento del método se llama nuevo nombre.

86
00:06:33,130 --> 00:06:39,520
Como sólo extinto se utiliza nombre y hace referencia acá, pero por ejemplo, si se llamase nombre

87
00:06:39,700 --> 00:06:46,360
y acá nombre, se pasa el argumento nombre y se asigna nombre nombre ambiguo.

88
00:06:46,660 --> 00:06:52,360
En este caso, cuando se llaman iguales para hacer diferencia con el nombre del atributo de la clase,

89
00:06:53,620 --> 00:06:54,290
usamos dis.

90
00:06:55,910 --> 00:07:02,210
Entonces, de esa forma asignamos el argumento nombre que pasamos por el método a la variable, nombre

91
00:07:02,330 --> 00:07:08,300
de la clase, condición para hacer una diferencia con este nombre variable, pero si se llaman distinto.

92
00:07:09,580 --> 00:07:10,150
2.

93
00:07:10,430 --> 00:07:11,030
2.

94
00:07:11,270 --> 00:07:14,120
Entonces puedo emitir de forma automática.

95
00:07:14,240 --> 00:07:21,050
Asume que nombre corresponde al atributo la clase, a la variable y este de acá el argumento bueno contra

96
00:07:21,050 --> 00:07:22,550
el Z y lo dejamos como estaba.

97
00:07:24,740 --> 00:07:26,240
Nuevo nombre, nuevo nombre.

98
00:07:27,260 --> 00:07:33,410
Entonces que tenemos el leer nombre acá podemos imprimir y como público si se fijan le nombre, ahora

99
00:07:33,410 --> 00:07:34,760
aparece el nombre.

100
00:07:35,950 --> 00:07:42,880
Entonces imprimimos el nombre entonces antes de llamar el método texto bueno, acá estamos pasando edad,

101
00:07:42,910 --> 00:07:47,050
que era un arreglo, ahora es persona y el objeto persona.

102
00:07:48,940 --> 00:07:50,830
Pero el método test acabar con error.

103
00:07:50,860 --> 00:07:51,370
Por qué?

104
00:07:51,880 --> 00:07:57,340
Porque está con un arreglo y la idea es que ahora reciba el objeto persona.

105
00:07:57,460 --> 00:08:03,860
Entonces, qué tienen que indicar el tipo persona y el nombre persona?

106
00:08:04,010 --> 00:08:06,760
Le vamos a llamar persona al nombre del atributo.

107
00:08:07,610 --> 00:08:10,550
Entonces acá la idea puede quitar el favor.

108
00:08:10,720 --> 00:08:15,740
La idea es que modifique el nombre persona punto, modifica el nombre.

109
00:08:16,570 --> 00:08:21,230
Entonces ahora se va a llamar Pepe en vez de Andrés Bijan.

110
00:08:21,430 --> 00:08:23,110
Ahí está Talita, el método test.

111
00:08:23,440 --> 00:08:29,470
Iniciamos el método Test Persona, el objeto persona que pasamos por referencia en el método test.

112
00:08:30,160 --> 00:08:32,310
Lo estamos pasando a una persona.

113
00:08:32,320 --> 00:08:35,330
Punto Modificar nombre le cambia el nombre de origen.

114
00:08:35,450 --> 00:08:38,800
Entonces, ahora, después de llamar el método test, voy a quitar esto.

115
00:08:39,940 --> 00:08:42,450
Vamos a imprimir nuevamente el nombre de la persona.

116
00:08:46,390 --> 00:08:54,310
Y debería de decir acá nombre, persona o persona nombre PP, ya que no es Andrés acasa Andrés aka PP

117
00:08:54,360 --> 00:09:01,060
porque el método test lo modificó, pero como esta referencia afecta, se cambian test, pero afecta

118
00:09:01,060 --> 00:09:08,130
también en el método Moine, ya que a pesar de que persona acá que se pasa por argumento y esta variable

119
00:09:08,140 --> 00:09:13,810
persona son el mismo objeto, apuntan al mismo puntero de la memoria.

120
00:09:14,500 --> 00:09:17,830
Entonces finaliza el método meiko los datos de la persona.

121
00:09:21,710 --> 00:09:26,060
Modificados bien, vamos a probar, levantamos.

122
00:09:27,850 --> 00:09:33,370
Ya entonces iniciamos el método Main Persona nombre Andres AKA.

123
00:09:34,660 --> 00:09:36,020
Persona a nombre Andres.

124
00:09:37,660 --> 00:09:40,900
Antes de llamarme totems y acá iniciamos el método.

125
00:09:41,230 --> 00:09:42,540
Finaliza el método test.

126
00:09:42,760 --> 00:09:48,940
Se fijan, entonces estamos acá y entre medio cambia y modifica el objeto.

127
00:09:49,210 --> 00:09:51,880
Le cambia el nombre a la persona por PP.

128
00:09:52,270 --> 00:09:56,200
Luego, después de llamar el método test después de llamar el método test.

129
00:09:57,300 --> 00:10:05,700
Persona nombre Pepe se fija de esa forma, estamos demostrando que se pasa la referencia del objeto

130
00:10:05,940 --> 00:10:07,980
y no el valor, sino la referencia.

131
00:10:08,070 --> 00:10:11,040
Por lo tanto, si cambia el objeto, cambia el estado.

132
00:10:11,190 --> 00:10:14,910
Algún atributo de tu objeto es modificado en test.

133
00:10:15,060 --> 00:10:18,530
También va afectar y modificar el método.

134
00:10:18,920 --> 00:10:26,730
En el método donde se crea la instancia y se asigna un nombre inicial de la persona, esta clase no

135
00:10:26,730 --> 00:10:31,020
era para entrar mucho en detalle en todo lo que es programación orientada, objetos solamente.

136
00:10:31,140 --> 00:10:32,370
Algo muy resumido.

137
00:10:32,480 --> 00:10:36,020
Después lo vamos a profundizar más, pero por ahora es importante.

138
00:10:36,120 --> 00:10:42,510
De a poco, adentrándonos en estos temas más avanzados de lo que es crear nuestras propias clases y

139
00:10:42,510 --> 00:10:44,420
crear sus referencias con el operador NEO.

140
00:10:45,620 --> 00:10:49,920
Pero bien, no se preocupen, porque después esto lo vamos a ver mucho más en detalle.

141
00:10:50,130 --> 00:10:56,850
La idea de esta clase era solamente demostrar cómo se pasa por referencia con un objeto propio nuestro.

142
00:10:56,910 --> 00:10:59,150
Continuamos en la siguiente clase.
