Está en la página 1de 5

En funcin de los contenidos de la Semana 7, responda lo siguiente:

Discuta qu ventajas y desventajas tiene el paso de parmetros por valor o


por referencia. D ejemplos en cada intervencin. Tenga especial cuidado
en no repetir los ejemplos de sus compaeros(as).Fundamente su respuesta.

Buenos noches,

Respondiendo a la interrogante puedo decir

Beneficios de pasar por valor

Si estamos construyendo aplicaciones multi-hilos, entonces no tenemos que preocuparnos de


que los objetos sean modificados por otros hilos.

Desventajas, permite evitar inadvertidamente la destruccin de las variables pasadas como


parmetros. Si uno quiere advertir de la destruccin accidental de los parmetros pasados por
variable, El compilador prohibir entonces cualquier modificacin de la variable en la funcin
llamada.

Ventajas de pasar por referencia:

No hay copia del argumento hecho, por lo tanto, es rpido.


Para evitar cambios involuntarios, podemos incluso hacer que pase por referencia
constante.
Podemos devolver mltiples valores de una funcin.

Pasar parmetros por referencia constante para funciones con requisitos de solo lectura ayuda
a mantener la legibilidad, asegurando un fuerte contrato de tiempo de compilacin y
permitiendo la flexibilidad de llamar a una funcin con un valor constante de tiempo de
compilacin.

Desventajas (todo con respecto a los parmetros pasados por referencia)

Legibilidad. Una persona que lee el cdigo no tiene forma de saber que el valor puede
modificarse en la funcin.
Pasar por referencia hace que la funcin no sea puramente terica y en muchos casos
prcticamente. Las funciones puras tienen los beneficios de ser altamente
paralelizadas, ms comprobables y menos propensas a errores en general.
La garanta de por vida es un gran problema con las referencias (y tambin con los
indicadores). Esto se vuelve especialmente peligroso cuando se trata de programas
lambdas y multiproceso.

Saludos,

Patricio Astorga Vega


Buenos noches,

Parmetros por valor

Ejemplo 1

public void xxx ( int var1 , int var2 ) { int temp = var1 ;

var1 = var2 ;

var2 = temperatura ; }

Cuando xxx()vuelve, las variables pasadas como argumentos an mantendrn sus valores
originales. El mtodo tambin fallar si cambiamos el tipo de argumentos de inta Object, ya
que Java tambin pasa referencias de objetos por valor.

Ejemplo 2

Se utiliza cundo se requiere pasar el valor de una variable a una funcin y que est realize
alguna operacin sobre ese Valor, la funcin o mtodo crea una Variable Local y trabaja sobre
ella.

int a=5;

metodo(a):

void metodo(int c) {

System.out.println(c);

La variable c, es una variable local y que recibe una copia del valor de la variable a, es decir se
pasa el parmetro por valor.
Pasos por referencia

El paso por referencia en vez de mandar el valor de la variable, se manda la direccin de


memoria en la que se encuentra almacenada, para de esta manera modificar el contenido de
la variable. Sin embargo este tipo de paso de parmetros en Java no existe pero si lo
quisiramos hacer en C++ sera algo as:

include <iostream>

using namespace std;

void funcion(int &a) {

a = 10;

int main() {

int var = 5;
funcion(&var);

cout <<>
}

El resultado de la ejecucin sera, 10 ya que la variable 10 se pasa por referencia y la funcin


modifica su valor.
Saludos,

Patricio Astorga Vega

Conclusin

Aunque los principios fundamentales, como los esquemas de enlace de datos y los esquemas
de paso de datos, pueden parecer abstractos en el mbito de la programacin diaria, estos
conceptos son esenciales para evitar errores sutiles. A diferencia de otros lenguajes de
programacin (como C ++), Java simplifica el enlace de datos y el esquema de aprobacin en
una sola regla: los datos siempre se pasan por valor. Aunque esta regla puede ser una
restriccin estricta, su simplicidad y la comprensin de cmo aplicar esta simplicidad, puede
ser un activo importante al realizar una gran cantidad de tareas diarias

Saludos,

Patricio Astorga

https://www.quora.com/What-are-the-pros-and-cons-of-passing-by-reference

https://fabiantapia.wordpress.com/2010/12/11/parametros-por-referencia-vs-por-valor/
Foro 2

En funcin de los contenidos de la Semana 7, responda lo siguiente:


Discuta acerca de las diferencias en retornar un valor en el nombre de un
mtodo o en un parmetro..

Buenos das,

Los mtodos con valor de retorno son mdulos de programa que pueden recibir datos de
entrada por medio de variables locales (parmetros) y posteriormente retorna un resultado al
punto donde es llamado. Este tipo de mtodos se utiliza para operar cualquier tipo de proceso
que produzca un resultado.

Los mtodos con valor de retorno se clasifican en dos tipos:

Mtodos con valor de retorno sin parmetros.


Mtodos con valor de retorno con parmetros.

Estn son sus diferencia:

Los mtodos con valor de retorno sin parmetros son aquellos donde este tipo de mtodos no
reciben datos de entrada; pero de igual forma retornan un resultado al punto donde son
llamados. Y los mtodos con valor de retorno con parmetros, son aquellos mtodos que
reciben datos de entrada por medio de parmetros y retornan un resultado al punto de su
llamado.

Ejemplo Mtodos con valor de retorno sin parmetros

Su definicin es de la siguiente manera:

tipo nombreMetodo(){

Declaracion de variables locales

Cuerpo del mtodo

return valor;

Donde:

valor: Es el valor que es retornado por el mtodo.

tipo: Es el tipo del valor de retorno.

Invocacin (llamado):

variable = nombreMetodo();

Donde:

variable: Es la variable que recibe el valor retornado por el mtodo.

Ejemplo Mtodos con valor de retorno con parmetros

tipo nombreMetodo(tipo1 p, tipo2 q, tipo3 r, ...){


Declaracin de variables locales

Cuerpo del mtodo

return valor;

Donde:

tipo: Es el tipo de valor de retorno.

p, q, r, ... : son los nombres de los parmetros.

tipo1, tipo2, tipo3, ... : son los tipos de datos de los parmetros.

valor: es el valor de retorno.

Saludos,

Patricio Astorga

http://inprojava.blogspot.cl/2009/10/metodos-con-valor-de-retorno.html

Buenas tardes,

Saludos,

Patricio Astorga

También podría gustarte