Continuamos en la clase anterior, vimos como pasar por valor independiente si era un integer, por
ejemplo, un primitivo del tipo primitivo o cualquier valor primitivo siempre es a pasar por valor.
Ahora, cuando del tipo de referencia comenzando mayúscula por ejemplo la clase Ruper Intuyes pasaba
algo similar a pesar de que se pasa por referencia, pero son clases inmutables cuando cambia un valor,
lo que hace cambiar también la referencia.
El objeto mantiene intacto la instancia que tenía antes y crea una nueva instancia.
Por lo tanto, no afecta a la referencia anterior a la instancia anterior.
Se mantiene intacta cuando son inmutables.
También estamos pasando como si fuera por valor, más que por referencia.
Ahora bien, ahora vamos a ver cómo pasar por referencia un objeto.
Como todavía no hemos entrado a la programación orientada objeto con clases, lo vamos a ver con un
ejemplo usando arreglos.
Algo hemos visto barrerlo y los arreglos.
Recuerden, también son de referencia.
Por lo tanto, si pasamos una referencia de un arreglo por detrás de escena, lo que se pasa en esa
referencia es un puntero hacia una instancia real, un arreglo real que está guardado en memoria.
Entonces se pasa a un puntero, una dirección y apunta a esa referencia.
Por lo tanto, si cambia el valor en cualquier parte en método, también va a afectar al método main
o al método donde se creó esa instancia.
Esa referencia.
Veamos el ejemplo.
Vamos a copiar y pegar para crear una nueva clase y esta la mantenemos tal cual.
Entonces voy a copiar, pasar por valor y la pegamos.
Acá la cambiamos a pasar por referencia.
Pero ahora vamos a trabajar con un arreglo.
Voy a cambiar acá un arreglo de enteros.
Vamos a colocar, por ejemplo, edad y acá las llaves.
Vamos a tener 10, 11, 12.
Hice Ramallah.
Vamos a pasar, entonces dad en este método test y acá recibe un arreglo, edad o nombre que queramos.
Al final es la referencia.
Incluso le puedo colocar edad, arreglo, edad, arreglo bien.
Entonces el método 3 la idea de modificar este arreglo y tirar con Infor y cambiamos los valores de
cada posición del cero del 1 y el 2, pero vamos a modificar un poco.
Entonces acá iniciamos el método, simplemente nada más me tomen esto lo quitamos, pero antes de invocar
el método testo con un Ford puede ser con un Fury o con un Ford común y corriente.
Da lo mismo y igual vamos a partir en cero.
Recuerden que siempre el índice cero cero uno dos hasta que Eli sea mayor que el total, que es largo.
Entonces apuntó la edad punto link y lo incrementamos
la idea de mostrar cada valor.
Entonces sería el índice de edad corchete.
Entonces, cada mostrar cada edad y por acá vamos a tener otro scout, vamos a imprimir
antes de invocar el Método 3 o llamar al método test y acá después.
Después y acá vamos a volver a recorrer con un foro.
Voy a copiar este formato y lo pegamos acá justo después.
Entonces la idea es tirar primero con los valores originales.
Invocamos el test, el test modifica el arreglo y después volvemos a recorrer con los datos modificados.
Supuestamente acá debería haber cambiado los datos y acá finaliza el método.
Con los datos del arreglo modificados, nada más esto de acá le quitamos, Helí no tiene nada que hacer
y bueno, en el texto modificamos, entonces iniciamos el método texto, esto le quitamos, quitamos
esto, quitamos esto, finaliza el texto.
Con los datos cambiados, por supuesto, ñaca un foro.
Por lo tanto voy a copiar esto.
Y vamos a reiterar sobre el arreglo, se fijan âquã edad es el objeto o nombre la variable del Metro
Domain, pero acá corresponde al parámetro que pasamos en el método que se le conoce también como argumento
argumento, el método, nuestro arreglo.
Entonces tienes que usar esa variable edad ár.
Punto Lenka.
Entonces recorremos este arreglo que recuerden lo estamos pasando.
No me tomen por parametro y por referencia de que son objeto.
Acá simplemente vamos a modificar, a pesar de que modificamos este parámetro, pero se pasa por referencia.
Al final este parámetro o variable del método apunta y corresponde a esta misma instancia.
Ambas variables apuntan al mismo objeto de memoria a la misma referencia.
Por lo tanto, detrás de escena lo que se pasa apunta hacia el arreglo real, hacia ese puntero en la
memoria.
Entonces acá el arreglo y va a ser igual a lo mismo, es decir, al mismo valor que tenía antes, pero
le vamos a sumar 20.
Por lo tanto, ahora el arreglo debería ser 30.
31 y 32.
Vamos a revisar.
Vamos a ejecutar.
Entonces inicia el método main lo tenemos acá y ni se me tome con estos datos.
Edad no cierto.
10.
11, 12.
Lo que tenemos acá.
Luego, antes de llamar el método test, iniciamos el método Test.
Acá se cambian los datos y finaliza en metates.
Entonces en este proceso se modifican los datos de la regla y si se fijan dentro del test no se está
imprimiendo nada solamente.
Iniciamos el método test y finalizamos el Método 3, pero nos imprime.
Los valores del arreglo se imprimen después en el método Mayne.
Y ya tiene otro valor.
Si se fijan acá, se modifica y se refleja el cambio en el método main en el método principal, y eso
significa que estamos pasando por referencia, apunta al mismo puntero en la memoria.
Es el mismo objeto, misma referencia, a diferencia de Primitivo, que se pasa por valor, pero en
el caso del arreglo no se modifica.
Entonces, para resumir este segundo foro del método Main se imprime nuevamente los valores del arreglo,
pero modificados por ser de referencia, mantiene el cambio realizado en el método Text.
Acá continuamos en la siguiente clase.