Métodos en C#: Definición, llamada y uso de funciones
Un método es un grupo de sentencias que juntas realizan una tarea. Todo programa C# tiene al menos una clase con un método llamado Main.
Para usar un método, necesita:
- Definir el método
- Llamar al método
Definición de métodos en C#
Al definir un método, declara los elementos de su estructura. La sintaxis es:
<EspecificadorAcceso> <TipoRetorno> <NombreMétodo>(ListaParámetros) {
Cuerpo del método
}
Elementos de un método:
Especificador de acceso: Determina la visibilidad de una variable o método desde otra clase.
Tipo de retorno: El tipo de dato del valor que el método devuelve. Si no devuelve nada, es void.
Nombre del método: Identificador único, sensible a mayúsculas/minúsculas.
Lista de parámetros: Entre paréntesis, usados para pasar y recibir datos. Son opcionales.
Cuerpo del método: Conjunto de instrucciones para completar la actividad.
Ejemplo: Método FindMax
class ManipuladorNúmeros {
public int FindMax(int num1, int num2) {
int resultado;
if (num1 > num2)
resultado = num1;
else
resultado = num2;
return resultado;
}
}
Llamada a métodos en C#
Se llama a un método usando su nombre.
Ejemplo completo:
using System;
namespace AplicaciónCalculadora {
class ManipuladorNúmeros {
public int FindMax(int num1, int num2) {
int resultado;
if (num1 > num2)
resultado = num1;
else
resultado = num2;
return resultado;
}
static void Main(string[] args) {
int a = 100;
int b = 200;
int ret;
ManipuladorNúmeros n = new ManipuladorNúmeros();
// Llamada al método FindMax
ret = n.FindMax(a, b);
Console.WriteLine("Valor máximo: {0}", ret);
Console.ReadLine();
}
}
}
Resultado:
Valor máximo: 200
También se puede llamar a un método público desde otras clases usando una instancia de la clase.
Llamada recursiva de métodos
Un método puede llamarse a sí mismo. Esto se conoce como recursión.
Ejemplo: Factorial recursivo
using System;
namespace AplicaciónCalculadora {
class ManipuladorNúmeros {
public int factorial(int num) {
int resultado;
if (num == 1) {
return 1;
} else {
resultado = factorial(num - 1) * num;
return resultado;
}
}
static void Main(string[] args) {
ManipuladorNúmeros n = new ManipuladorNúmeros();
Console.WriteLine("Factorial de 6 es: {0}", n.factorial(6));
Console.WriteLine("Factorial de 7 es: {0}", n.factorial(7));
Console.WriteLine("Factorial de 8 es: {0}", n.factorial(8));
Console.ReadLine();
}
}
}
Resultado:
Factorial de 6 es: 720
Factorial de 7 es: 5040
Factorial de 8 es: 40320
Paso de parámetros a un método
Hay tres formas de pasar parámetros:
| Nº | Mecanismo y descripción |
|---|---|
| 1 | Parámetros por valor: Copia el valor real del argumento en el parámetro formal. Los cambios dentro de la función no afectan al argumento. |
| 2 | Parámetros por referencia: Copia la referencia a la ubicación de memoria del argumento. Los cambios afectan al argumento. |
| 3 | Parámetros de salida: Ayuda a devolver más de un valor. |
Lenguaje C
- Dominando clases y métodos abstractos en C#: Guía práctica
- Entendiendo clases y métodos parciales en C#
- Dominando clases y métodos sealed en C#: Cuándo usarlos, ejemplos claros y mejora de seguridad y rendimiento
- Dominando la Sobrecarga de Métodos en C#: Conceptos, Ejemplos y Buenas Prácticas
- Dominando funciones en C: Estructura, declaración y mejores prácticas
- Uso eficiente de memoria con campos de bits en C
- Dominando Argumentos Variables en C: Guía Práctica
- Delegados en C#: Guía completa de referencias a funciones y eventos
- Métodos anónimos en C#: Simplificando el uso de delegados
- Integración en MATLAB: Antiderivadas, Integrales Definidas y Sumas de Riemann
- Java 8 Métodos Por Defecto Explicados: Mejorar Interfaces y Compatibilidad Hacia Atrás