Hola nuevamente a todos.
En este artículo, que pretende ser la continuación del artículo Comenzando en C#. Aplicaciones simples en Consola. Parte 1, estaremos viendo lo que es el desarrollo de clases y métodos un poco más a fondo.
Para empezar con la implementación de una clase lo primero que se debe saber es el correcto uso de la sintaxis del código el cual se muestra a continuación:
Class Nombre de la clase
{
…Miembros
}

Donde los miembros, por ahora, serían los atributos o campos y los métodos. Al verlo así parece bastante simple ¿verdad? Pues veámoslo más de cerca.

La sintaxis de los campos sería igual que como vimos anteriormente por lo que centrémonos en los métodos

<Tipo devuelto> <identificador> ([<Parámetros>])

{

<Instrucciones>

}

Los métodos son bloques de instrucciones que pueden devolver algún valor cuando se ejecutan. Invocar a un método hace que las instrucciones del mismo se ejecuten.

En las instrucciones se puede acceder a todos los miembros definidos en esta clase (incluyendo otros métodos) lo que estos miembros deben haber sido declarados de forma global, o sea que una variable declarada dentro de otro método no puede ser accedida desde este pero si se puede llamar el resultado del mismo que sería del tipo de dato especificado en Tipo devueltoAlgo enredada la explicación.

El tipo de datos devuelto debe coincidir con el implementado en el principio del método y ser devuelto con la cláusula return objeto. Los métodos pueden tener parámetros o no, pero en caso de necesitarlos estos se declaran igual que un atributo y se les accede por el nombre dado (solo serán valido dentro de las instrucciones de dicho método).

Ejemplo:

Int Suma (int num1, int num2)
{
Return num1 + num2;
}

Por supuesto todos los métodos no necesariamente deben devolver un valor, eso depende de lo que requiera la operación a realizar. Estos se declaran de tipo void y se omite la cláusula return.

Ahora veamos como seria la implementación de una clase con lo que hemos visto.

// Este símbolo se usa para insertar comentarios y no afectan el código.

Para comentarios que abarquen más de una línea, encerrar todo el texto que se desee comentar entre caracteres /* y */ siguiendo la siguiente sintaxis:

/* <texto> */


Class Persona

{

// Atributos…

string nombre;

string apellidos;

int añoNacimiento;

// Métodos

int Edad (int AñoActual)

{

return AñoActual - añoNacimiento;

}

string NombreCompleto ()

{

return nombre +” ” + apellidos;

}

}

A la hora de implementar la clase, al igual que los bloques de códigos correspondientes se debe tener mucho cuidado con la sintaxis ya que una coma mal puesta o un orden equivocado de declarar un atributo puede traer consigo errores, al igual que debemos fijarnos que las funciones estén bien desarrolladas conceptualmente, ya que si pusiéramos añoNacimiento – AñoActual; C# no mostraría un error pero traería como consecuencia un resultado no deseado.

Al escribir algún tipo de dato (string, int) notaras que cambia de color, esto se debe a que son palabras reservadas (key words o reserved words)

y nosotros como programadores no podemos cambiarlas o darles un uso diferente al que ya se les ha asignado (también son palabras reservadas Class, return, public, private, etc.)

Si te fijaste en los códigos anteriores te abras dado cuenta que he usado el símbolo + no solo para sumar números sino también para unir cadenas de texto, esto se debe a que en C# se ha redefinido su significado para que cuando se aplique entre operandos que sean cadenas o que sean una cadena y un carácter lo que haga sea concatenarlos.

  • Los operadores aritméticos incluidos en C# son los clásicos de suma (+), resta (-), producto (*), división (/) y módulo (%).
  • Para realizar las operaciones lógicas típicas: and (&& y &), or (|| y |),

not (!).

  • Como operadores relacionales: igualdad (==), desigualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=) y menor o igual que (<=).

El operador de asignación seria el (=), que como su nombre indica su función es la de asignar valores a variables, pero ojo con esto, no se le puede asignar un valor a una variable si este no cumple con el tipo de dato o se llama algún convertidor de tipo de datos.


Ejemplo de asignaciones:

int cantidadA;

int cantidadB;

int total;

string producto;

// Correctas

cantidadA = 5;

cantidadB = cantidadA + 3;

total = cantidadA + cantidadB;

/* Si la variable de la izquierda posee un valor, este es sustituido por el de la derecha así que cuidado con esto */

// Incorrectas

producto = cantidadA;

Error: No se puede convertir implícitamente el tipo int a string

// Solución

producto = cantidadA. ToString();


Nota: El método ToString() transforma el tipo de dato del atributo a cadena de caracteres(string).

En el articulo anterior hable de distintas formas de calcular la edad de una persona(pidiendole el CI, FechaNacimiento,ect) Ahora ¿Seria posible programar varias formas usando el mismo método ?

Pues esto se llama sobrecarga de metodos. C# permite que en una misma clase se definan varios métodos con el mismo nombre siempre y cuando tomen diferentes cantidades o tipo de parámetros, o que en caso extremo si tienen igual cantidad y tipo de parámetros se diferencien en el orden de los mismos de modo que cuando se les invoque el compilador podrá determinar a cual llamar a partir de los parámetros pasados en la llamada.


Ejemplo:

int Suma(int sum1, int sum2)

{

return sum1 + sum2;

}

int Suma (int sum1, int sum2, int sum3)

{

return sum1 + sum2 + sum3;

}

Y con la sobrecarga de métodos termino este artículo. Que ya está bastante largo.

Anuncios