Paso de Parámetros Leonel Morales Díaz Ingeniería Simple [email_address] Disponible en: http://www.ingenieriasimple.com/introprogra Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados
Examine este Código Dim UnaVar UnaVar = 10 Function QueValor(UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; Document.Write QueValor(UnaVar) & &quot;<BR>&quot; Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; ej083.html
Código Modificado Dim UnaVar UnaVar = 10 Function QueValor( ByVal  UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; Document.Write QueValor(UnaVar) & &quot;<BR>&quot; Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; ej084.html
Más Código Modificado Dim UnaVar UnaVar = 10 Function QueValor( ByRef  UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; Document.Write QueValor(UnaVar) & &quot;<BR>&quot; Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; ej085.html
Paso Por Valor ByVal en el código Saca una copia de la variable Usa esa copia en la sub o function No modifica el valor original
Paso Por Referencia Trabaja con el mismo espacio de memoria La “referencia” de memoria En el sub o function puede tener otro nombre Se modifica el valor de la variable original
Diferencias Entre Lenguajes Algunos lenguajes usan solo un tipo Ej: Java Todo se pasa por referencia Casi todo es un objeto Menos los tipos “primitivos” byte, integer, long, boolean, char Para pasar un byte por referencia Se convierte a objeto

Clase21

  • 1.
    Paso de ParámetrosLeonel Morales Díaz Ingeniería Simple [email_address] Disponible en: http://www.ingenieriasimple.com/introprogra Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados
  • 2.
    Examine este CódigoDim UnaVar UnaVar = 10 Function QueValor(UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; Document.Write QueValor(UnaVar) & &quot;<BR>&quot; Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; ej083.html
  • 3.
    Código Modificado DimUnaVar UnaVar = 10 Function QueValor( ByVal UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; Document.Write QueValor(UnaVar) & &quot;<BR>&quot; Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; ej084.html
  • 4.
    Más Código ModificadoDim UnaVar UnaVar = 10 Function QueValor( ByRef UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; Document.Write QueValor(UnaVar) & &quot;<BR>&quot; Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; ej085.html
  • 5.
    Paso Por ValorByVal en el código Saca una copia de la variable Usa esa copia en la sub o function No modifica el valor original
  • 6.
    Paso Por ReferenciaTrabaja con el mismo espacio de memoria La “referencia” de memoria En el sub o function puede tener otro nombre Se modifica el valor de la variable original
  • 7.
    Diferencias Entre LenguajesAlgunos lenguajes usan solo un tipo Ej: Java Todo se pasa por referencia Casi todo es un objeto Menos los tipos “primitivos” byte, integer, long, boolean, char Para pasar un byte por referencia Se convierte a objeto