Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clase21

365 views

Published on

Paso de parámetros. Por valor y por referencia. Diferencias por lenguaje

Published in: Education
  • Be the first to comment

  • Be the first to like this

Clase21

  1. 1. 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
  2. 2. Examine este Código <ul><li>Dim UnaVar </li></ul><ul><li>UnaVar = 10 </li></ul><ul><li>Function QueValor(UnValor) </li></ul><ul><li>QueValor = UnValor * 10 </li></ul><ul><li>UnValor = UnValor + 5 </li></ul><ul><li>End Function </li></ul><ul><li>Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; </li></ul><ul><li>Document.Write QueValor(UnaVar) & &quot;<BR>&quot; </li></ul><ul><li>Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; </li></ul>ej083.html
  3. 3. Código Modificado <ul><li>Dim UnaVar </li></ul><ul><li>UnaVar = 10 </li></ul><ul><li>Function QueValor( ByVal UnValor) </li></ul><ul><li>QueValor = UnValor * 10 </li></ul><ul><li>UnValor = UnValor + 5 </li></ul><ul><li>End Function </li></ul><ul><li>Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; </li></ul><ul><li>Document.Write QueValor(UnaVar) & &quot;<BR>&quot; </li></ul><ul><li>Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; </li></ul>ej084.html
  4. 4. Más Código Modificado <ul><li>Dim UnaVar </li></ul><ul><li>UnaVar = 10 </li></ul><ul><li>Function QueValor( ByRef UnValor) </li></ul><ul><li>QueValor = UnValor * 10 </li></ul><ul><li>UnValor = UnValor + 5 </li></ul><ul><li>End Function </li></ul><ul><li>Document.Write &quot;Valor Original: &quot; & UnaVar & &quot;<BR>&quot; </li></ul><ul><li>Document.Write QueValor(UnaVar) & &quot;<BR>&quot; </li></ul><ul><li>Document.Write &quot;Valor Final: &quot; & UnaVar & &quot;<BR>&quot; </li></ul>ej085.html
  5. 5. Paso Por Valor <ul><li>ByVal en el código </li></ul><ul><li>Saca una copia de la variable </li></ul><ul><li>Usa esa copia en la sub o function </li></ul><ul><li>No modifica el valor original </li></ul>
  6. 6. Paso Por Referencia <ul><li>Trabaja con el mismo espacio de memoria </li></ul><ul><ul><li>La “referencia” de memoria </li></ul></ul><ul><li>En el sub o function puede tener otro nombre </li></ul><ul><li>Se modifica el valor de la variable original </li></ul>
  7. 7. Diferencias Entre Lenguajes <ul><li>Algunos lenguajes usan solo un tipo </li></ul><ul><li>Ej: Java </li></ul><ul><ul><li>Todo se pasa por referencia </li></ul></ul><ul><ul><ul><li>Casi todo es un objeto </li></ul></ul></ul><ul><ul><li>Menos los tipos “primitivos” </li></ul></ul><ul><ul><ul><li>byte, integer, long, boolean, char </li></ul></ul></ul><ul><ul><li>Para pasar un byte por referencia </li></ul></ul><ul><ul><ul><li>Se convierte a objeto </li></ul></ul></ul>

×