IMPLEMENTACIÓN DE MÉTODOS EN C# .NET
Bruno López Takeyas
Instituto Tecnológico de Nuevo Laredo
Reforma Sur 2007, C.P. 88070, Nuevo Laredo, Tamps. México
http://www.itnuevolaredo.edu.mx/takeyas
E-mail:
[email protected]
Resumen: El presente documento tiene como
objetivo crear conciencia en los programadores en C#
.NET sobre el aprovechamiento de los recursos que
proporciona el lenguaje para mejorar el estilo de
programación y facilitar la depuración y corrección de
los programas. Para este efecto se mencionan temas de
suma importancia: Uso de métodos (procedimientos y
funciones), manejo de variables (locales y globales), el
envío de parámetros o argumentos (por valor y por
referencia) y la recepción de valores; de tal forma que
sean de utilidad al implementar programas orientados a
objetos.
1.
Introducción
En los primeros paradigmas de programación de
computadoras, las instrucciones se escribían y
ejecutaban de manera secuencial o lineal; es decir,
se codificaban las sentencias una después de la
otra y seguían este patrón durante su ejecución. Sin
embargo, este estilo provocaba programas muy
extensos, poco legibles, mal organizados y por
ende, complicados de depurar o corregir; a esto se
le añade que en muchas ocasiones había necesidad
de ejecutar un conjunto de instrucciones en varias
cual
ocasiones,
escribirlo
repetidamente en
la codificación, ocasionando
duplicidad de código y por ende más trabajo para el
programador, ya que debía escribir varias veces el
mismo código en el programa,
revisarlo y
provocando que
los programas ocuparan más
memoria y se tornaran difíciles de depurar.
provocaba
lo
Con el surgimiento del paradigma de
la
programación estructurada, se introduce la idea de
organizar un programa de computadora en módulos,
los cuales permiten organizarlo e
identificar
claramente la operación de los mismos. Cada
módulo está identificado con un nombre, contiene
la
un conjunto de instrucciones que solamente se
escriben una vez, pero pueden ser invocados las
veces que sean necesarias; de tal forma, que ofrece
facilidad de organizar sus
al programador
programas de
fácil de
depurar. En este paradigma de programación, estos
módulos
fueron conocidos con el nombre de
subrutinas o subprogramas, los que actualmente en
el paradigma de programación orientado a objetos
se conocen con el nombre de métodos.
forma clara, precisa y
2. Definición de método
En la actualidad se conoce con el nombre de
método a un conjunto de instrucciones que realiza
una tarea específica y bien definida. Los métodos
solamente se escriben una vez pero pueden ser
invocados en múltiples ocasiones durante
la
ejecución de un programa. Esto
le brinda al
programador las siguientes ventajas:
• Facilita
la separación de actividades en
módulos debidamente identificados.
legible y
• Organiza de manera
fácil de
entender a los programas.
• Facilita al programador la escritura de código.
• Facilita
y
depuración,
corrección
la
mantenimiento de los programas.
Los métodos se clasifican en procedimientos y
funciones (Fig. 1).
Métodos
Procedimientos
Funciones
Fig. 1.- Tipos de métodos
1
En el paradigma orientado a objetos,
los
métodos representan las acciones realizadas por los
objetos; por lo que se recomienda que se utilicen
verbos para nombrarlos e identificarlos.
3. Procedimientos
Un procedimiento es un método que se compone de
un conjunto de instrucciones para realizar un proceso,
sin embargo, no devuelve algún resultado como
producto de su operación; simplemente ejecuta las
instrucciones que contiene sin informar el resultado
obtenido. En C#, los procedimientos se identifican por
su declaración de tipo void.
lo
tanto se
Por ejemplo, el siguiente método se encarga de
imprimir en pantalla los datos de una persona; sin
embargo, no devuelve valor alguno. Nótese que el
método se declara de tipo void indicando que no
devuelve valor; por
trata de un
procedimiento.
static void Imprimir()
{
Console.WriteLine(Nombre);
Console.WriteLine(Edad);
Console.WriteLine(Sueldo);
}
La palabra static indica que el método es un
miembro estático del programa; es decir, solamente
se crea una vez cuando se ejecuta el programa y
existe mientras se ejecute la aplicación (por el
momento no se explica a detalle este concepto, el
cual se trata en cursos de Programación Orientada a
Objetos).
4. Funciones
Las funciones son métodos que ejecutan un conjunto
de instrucciones e informan del resultado obtenido; es
decir, devuelven el dato resultante de la ejecución. En
C#, una función utiliza la sentencia return() para
devolver el valor correspondiente. Enseguida se
muestran algunos ejemplos de declaraciones de
funciones:
static int Sumar() // Devuelve un valor
de tipo numérico entero
static double Calcular() // Devuelve un
valor de tipo numérico real
2
static string Comparar() // Devuelve un
valor de tipo cadena
Por ejemplo, el siguiente método calcula el área
de una circunferencia aplicando
fórmula =
y devuelve el resultado. Nótese que el
método se declara de tipo double, indicando que
devuelve un valor numérico real, por lo tanto se trata
de una función.
la
static double CalcularArea()
{
return(Math.PI*Math.Pow(Radio,2));
}
4.1.- Limitación de return()
Una limitante de una función es que la sentencia
return() sólo devuelve un valor; esto restringe a
que una función solamente pueda devolver un dato.
Si se desea que la función devuelva más de un valor,
entonces debe usarse otro mecanismo (por ejemplo
el envío de parámetros por referencia ó el uso de
parámetros de salida out en C# .NET).
5. Ámbito de las variables: Variables
locales y globales
En el contexto de programación, se conoce como el
ámbito a la disponibilidad que ofrece una variable
dependiendo del
lugar donde se declare. Las
variables que se declaran dentro de un método o un
bloque de sentencias se llaman variables locales
mientras que las variables globales se conocen a
través del programa entero y se pueden usar en
cualquier segmento de código.
El valor de una variable local solamente se puede
acceder dentro del segmento de código donde fue
declarada dicha variable y no puede utilizarse en otra
sección; en cambio una variable global puede
accederse en cualquier parte del programa,
manteniendo disponible su valor en todo momento.
Se
pueden
declarar
variables
globales
declarándolas fuera de cualquier método (antes de
Main()) y cualquier método puede acceder a ellas
sin tener en cuenta en qué segmento de código esté
dicha declaración.
6. Envío de parámetros a los métodos
Un método (procedimiento o función) puede recibir
datos para realizar algunas acciones, los cuales se
denominan parámetros o argumentos.
Existen dos formas de enviar datos a un método:
por valor y por referencia (Fig. 2).
Envío de
parámetros
Por valor
Por referencia
Fig. 2.- Tipos de envíos de parámetros
Cuando se invoca un método al que se le envía un
parámetro por valor, se le manda una copia del valor
de una variable o expresión, el cual es recibido por un
parámetro declarado del mismo tipo de dato que el
valor enviado. En cambio, si se le envía un parámetro
por referencia, se le manda la referencia (dirección de
memoria) de una variable.
Se pueden enviar varios datos a un método, sin
embargo es necesario precisar que las variables
receptoras deben estar declaradas en el orden
indicado por el envío,
la
correspondencia con el tipo de dato.
también considerando
Cuando se invoca un método se colocan entre
paréntesis los parámetros enviados.
Es importante mencionar que los parámetros que
reciben los datos enviados al método se consideran
variables locales (independientemente si se hace por
valor o por referencia) e incluso pueden tener el
mismo nombre que la variable origen, sin embargo se
trata de copias de los valores originales, por lo tanto,
son variables diferentes.
6.1.- Envío de parámetros por valor
Cuando se envía un parámetro por valor, se hace una
copia del valor de la variable enviada en el parámetro
recibido, el cual actúa como una variable local, que lo
recibe,
lo manipula dentro del método y que
desaparece y pierde su valor al terminar la ejecución
de ese segmento de código.
invocar
Por ejemplo, al
(llamar) el método
identificado con el nombre Procesar, se colocan
entre paréntesis los parámetros Nombre, Edad y
Sueldo separados por comas:
Procesar(Nombre, Edad, Sueldo);
La declaración del método se muestra enseguida:
void Procesar(string N, int E, double S)
{
………
En este caso, el parámetro N recibe una copia del
valor de la variable Nombre, E recibe copia del valor
de Edad y S recibe copia del valor de Sueldo
(Fig. 3). Obsérvese que durante la llamada del
método, se envían una cadena, un entero y un
número
los cuales son
recibidos en ese orden por los correspondientes
parámetros; esto es, debe respetarse el orden de los
tipos de datos enviados en la
Comentarios de: Implementación de métodos en CSharp .NET (0)
No hay comentarios