jueves, 5 de enero de 2012

uso de variables de salida en la programacion orientada a objetos POO

hoy mientras estaba practicando un poco de programación, quise utilizar una especie de "funciones y procedimientos" (programacion modular) dentro de la programacion dedicada a objetos... (see, estoy loco, lo sé)
y recordé el concepto de variables de entrada y salida de un procedimiento, por ejemplo:

public void suma(int a, int b, int suma, int resta)
{ suma=a+b; resta=a-b;}


mirando este pequeño procedimiento, las variables de entrada son los enteros "a" y "b", mientras q las variables de salida son los enteros suma y resta
podriamos hacer en un procedimiento principal:

public static void main( blah blah blah)...

int a1=10; 
int b1=5;
int sum=0;
int rest=0;
suma(a1, b1, sum, rest);
Console.Writeline("la suma es {0} y la resta es {1}", sum, rest);
Console.ReadKey();}


y listo!
dentro de la programacion modular esto es asi de sencillo.

pro intenté hacer lo mismo en POO y simplemente, no funcionó (y otra vez me estanqué hasta que leyendo y leyendo, encontré la solucion wiiii)
SOLUCION!!!!
bueno la solucion es simple, consiste en colocar un OUT delante de la variable de salida, asi:
OJO esto se hace dentro de la clase del objeto q hayan creado

class miobjeto
{
    objeto()
    {}
    ...

    public void suma(int a, int b, out int suma, out int resta)

    { suma=a+b; resta=a-b;}
}


y cuando hagas la llamada a este "procedimiento" (lo siento, no recuerdo su nombre en POO) debemos colocar de la misma manera el out, asi:

public...
{
//estoy obviando todo el contenido, doy por entendido q igual q arriba debemos instanciar las variables
suma(a1, b1, out sum, out rest);
 }


a mi me desespera q un detalle tan pequeño afecte a toda la estructura, a uds no? bueno, cada quien q baile con quien mas le guste jejeje...
espero q les sirva amigos, ah y no olviden comentar
salu2
Sonels

No hay comentarios:

Publicar un comentario