Upload
ktocha
View
432
Download
1
Embed Size (px)
Citation preview
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
Contenido
Preguntas
Ejemplo
Paso por referencia
Paso por valor
Definiciones
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.
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
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
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
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
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
Salida de los programas
La variable numero no ha sido afectada
PorReferencia
La variable numero[0] ha sido afectada
PorValor
Discusion
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
Ejemplo
LOGO
Instructor: Cathy Eloisa Zepeda
Programación Orientada a ObjetosTema: Paso de argumentos a métodos