paso de argumentos en java
DESCRIPTION
definiciones y ejemplosTRANSCRIPT
![Page 1: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/1.jpg)
LOGO
Instructor: Cathy Eloisa Zepeda
Paso de Paso de ArgumentosArgumentos a a MétodosMétodos
Programación Orientada a Objetos
Ingeniera en SistemasLicenciatura en Informática
Técnico en Software
![Page 2: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/2.jpg)
Contenido
Discusión sobre objetos como argumentos
Ejemplo
Paso por referencia
Paso por valor
Definiciones
![Page 3: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/3.jpg)
Universidad Tecnológica de El Salvador
Definiciones
Paso por valor significa que cuando un argumento se pasa a un método, este método recibe una copia del valor original.
AproximacionesClásicas
Paso por referencia significa que cuando un argumento se pasa a un método, este método recibe la dirección de memoria del valor original, no la copia del valor.
![Page 4: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/4.jpg)
Paso por valor
byte
intdouble
char
float
TiposPrimitivos
Tipos de datos que se pasan por valor
boolean
short
String
Universidad Tecnológica de El Salvador
![Page 5: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/5.jpg)
Paso por referencia
Tipos de datos que se Tipos de datos que se pasan por referenciapasan por referencia
ObjetosArreglos
Vectores
Universidad Tecnológica de El Salvador
![Page 6: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/6.jpg)
Ejemplo : Paso por valor
numero se pasa como argumentopara el método
n recibe una copia del valor d numeroen la variable n
Esa copia se le asigna el valor 18
La variable numero no se ve afectadapor la asignación
public class Prueba {
public void pasoArgumentos(int n) { n=18; }
public static void main(String [] a) { int numero=24; Prueba miPrueba=new Prueba(); miPrueba.pasoArgumentos(numero); System.out.println(numero);
} }
Imprime numero, la variable del método main()
Universidad Tecnológica de El Salvador
![Page 7: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/7.jpg)
Ejemplo: Paso por referencia
numero si será afectada por n[0]=18
pasoArgumentos() no recibe el valor dela variable sino la referencia
Referencia significa la dirección física
n no es una replica de numero, es numero llamada de otra forma
public class Prueba {
public void pasoArgumentos(int [] n) { n[0]=18; }
public static void main(String [] a) { int numero={24,24}; Prueba miPrueba=new Prueba(); miPrueba.pasoArgumentos(numero); System.out.println(numero[0]);
} }
Imprime el valor de numero[0]no el valor del método
Universidad Tecnológica de El Salvador
![Page 8: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/8.jpg)
Salida de los programas
La variable numero no ha sido afectada
PorReferencia
La variable numero[0] ha sido afectada
PorValor
![Page 9: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/9.jpg)
Discusión: Objetos como argumentos
Que tan cierto es que en Java no existe el paso por referencia?
Si pasamos un objeto a un método modificando su valor, al salir de éste, nuestro objeto habrá sido modificado.
En realidad se ha pasado por valor la referencia al objeto, es decir, se ha pasado una copia de su dirección en memoria.
Cuando se pasa un objeto a un método, siempre se pasa una copia de su dirección, por lo que aunque se cambie su dirección, en cuanto salga del método, volverá a tener la dirección original.
Universidad Tecnológica de El Salvador
![Page 10: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/10.jpg)
Ejemplo: Que salida produce?
![Page 11: Paso de argumentos en java](https://reader031.vdocumento.com/reader031/viewer/2022013108/559cc5211a28abb4368b456d/html5/thumbnails/11.jpg)
LOGO
Instructor: Cathy Eloisa Zepeda
Programación Orientada a ObjetosTema: Paso de argumentos a métodos