martes, 26 de julio de 2011

Métodos, Procedimientos y Funciones

■ Métodos

Un método es un segmento o bloque de código en el que se describe una serie de instrucciones que ejecutan determinada acción, el método recibe una serie de parámetros de entrada con los que trabajará para obtener el resultado y en algunos casos devolver un valor.

Cuando el método no devuelve ningún valor se dece que no tiene tipo, mientras que cuando es necesario que regresé cierto valor el método será con tipo, al igual que las variables.

Sintaxis para C# y Java.

Método sin tipo (no devuelve valor):

void nombreDelMetodo(parámetros) {
   //Acciones
}

Metodo con tipo (devuelve valor):

tipo nombreDelMetodo(parámetros) {
   //Acciones
     return valor;
}


En la Programación Esctructurada, particularmente en Pascal,  el equivalente al método viene siendo el Procedimiento para cuando no regresa nada, es decir, no tiene tipo; y las Funciones para cuando regresan un valor, es decir cuando tiene tipo.


■ Llamada al Método

En C# y Java pueden llamarse de varias formas.

1) Si el método es de la propia clase

Cuando el método pertenece a la propia clase que lo va usar, basta con invocarlo mediante su nombre y pasaándole los parámetros si es que lleva:

Método sin tipo:
nombreMétodo(parámetros);

Método con tipo:
variable = nombreMétodo(parámetros);


2) Si el método pertenece a otra clase

En la clase en la que se va invocar al método se debe crear un objeto de la clase propietaria del método que se va llamar:

ClaseSecundaria objetoClaseSecundaria = new ClaseSecundaria();

Habiendo creado este objeto ya podemos mediante él invocar a los métodos de dicha clase de la siguiente manera:

Método sin tipo:
objetoClaseSecundaria.nombreMétodo(parámetros);

Método con tipo:
variable = objetoClaseSecundaria.nombreMétodo(parámetros);



■ Procedimientos y Funciones

En Pascal en lugar de métodos se utilizan los llamados procedimientos y las funciones, los procedimientos para cuando no se necesita que devuelvan un valor y la funciones que si devuelven valores. Éstos ayudan a estructurar el código y de la misma forma hacerlo más corto y entendible.


► Un Procedimiento es también un segmento de código que realiza una determinada acción pero que no regresa valor, su estructura varía ligeramente dependiendo de si lleva o no parámetros, por ejemplo:

Sin paso de parámetros:
   Procedure nombreDelProcedimiento;
   Begin
      //Acciones
   End;

Con paso de parámetros:
   Procedure nombreDelProcedimiento(parámetros);
   Begin
      //Acciones
   End;


          ► Ver Procedimientos en Pascal

► La función es similar al procedimiento, su estructura es casi la misma, la única diferencia es que ésta debe tener un tipo específico debido a que regresa un valor, ese tipo debe especificarse en su declaración y aunque no es obligatorio que devuelva un valor si es forzoso indicar su tipo, es decir, puede usarse como si fuera un simple procedimiento pero ésta debe tener tipo.

Ejemplo de su estructura:

Sin paso de parámetros:
   Function nombreDeLaFuncion : tipo;
   Begin
      //Acciones
        nombreDeLaFuncion := valorDevuelto;
   End;

Con paso de parámetros:
   Function nombreDeLaFuncion(parámetros) : tipo;
   Begin
      //Acciones
        nombreDeLaFuncion := valorDevuelto;
   End;

Ejemplo de función que no devuelver valor:
   Function nombreDeLaFunción : tipo;
   Begin
      Write('Hola mundo');
   End;


Como vez ésta función no regresa ningún valor, es decir, se comporta como un simple procedimiento. A diferencia de C# y Java en donde los métodos que regresan valores deben llevar forzosamente el "return" indicando el valor devuelto.


■ Parámetros.

Los parámetros son variables con las que trabajarán los métodos, sea procedimiento o función, estos se pasan dentro de los paréntesis del método y deben ser del mismo tipo que las variables originales, ¿a qué me refiero con ésto?, cuando se declara el método deben especificarse las variables que éste recibirá como parámetros y al momento de llamar al método se le deben pasar valores del mismo tipo de los que éste recibe y en el mismo orden.

Ejemplo para C# o Java: Declarar un método que sume dos números que recibe como parámetros y que regrese el resultado.

Declaración:
   int Sumar(int n1, int n2) {
      return n1 + n2;
   }

Llamada:
   int numero1 = 1, numero2 = 2;

   int resultado = Sumar(numero1, numero2);

Al momento de llamar al método "Sumar" se le pasan como parámetros las variables "numero1" y "numero2" y éste recibe sus valores almacenándolos en sus propias variables "n1" y "n2", las cuales toman el valor de la variable que esté en su misma posición, o sea, n1 toma el valor de numero1 y n2 toma el valor de numero2.

Internamente el método trabaja con sus propias variables, es decir, con n1 y n2 y al final regresa el resultado de las instrucciones que tenga programadas. Este resultado es el que regresa en sí la función Sumar y se almacena en la variable "resultado".

1 comentario:

  1. Muchas gracias por la información, la forma en que lo explican fue muy clara

    ResponderEliminar