lunes, 1 de agosto de 2011

C# – Funciones [Básico]



Las funciones forman una parte muy importante de la programación, nos permite ordenar nuestro código en pedazos, y luego nosotros podemos llamarlos por el nombre de su función.

Como funciona
void MiFuncion()
{
// Nuestro codigo aca
//
//
}
Como ven es fácil, primero ponemos void, luego el nombre de nuestra función, seguido unos paréntesis(como en el constructor, nosotros podemos pedir que ingrese parámetros y utilizarlos). Luego se abren una llaves que es donde se programa.

Nosotros podemos declarar si nuestra funcion es privada o publica(si no le ponemos nada, por defecto es privada).
public void MiFuncionPublica()
{
// Nuestro codigo aca
//
//
}
private void MiFuncionPrivada()
{
// Nuestro codigo aca
//
//
}
Ahora, si seleccionamos la clase Perro.cs, nosotros tendríamos algo asi.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial_14to
{
class Perro
{
private string nombre;
private int edad;
private string raza;
public bool pedigree;
 
public Perro(string Nombre, int Edad, string Raza, bool Pedigree) // Constructor
{
nombre = Nombre;
edad = Edad;
raza = Raza;
pedigree = Pedigree;
 
if (pedigree == true)
{
Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad "
+ edad + ", la raza es " + raza + "y posee Pedigree");
}
else
{
Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad "
+ edad + ", la raza es " + raza + "y no posee Pedigree");
}
}
 
}
}
Borraremos la parte que muestra los datos y nos quedara algo como esto.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial_14to
{
class Perro
{
private string nombre;
private int edad;
private string raza;
public bool pedigree;
 
public Perro(string Nombre, int Edad, string Raza, bool Pedigree) // Constructor
{
nombre = Nombre;
edad = Edad;
raza = Raza;
pedigree = Pedigree;
}
}
}
Que hacemos con el código que borramos?, lo pondremos en una función.
public void MostrarDatos()
{
if (pedigree == true)
{
Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad "
+ edad + ", la raza es " + raza + "y posee Pedigree");
}
else
{
Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad "
+ edad + ", la raza es " + raza + "y no posee Pedigree");
}
}
Primero declaramos que la función que es publica, luego le creamos el nombre y por ultimo agregamos el código que habíamos borrado.

Ahora para iniciar nuestra nueva función, iremos a Program.cs y la llamaremos escribiendo lo siguiente.
galgo.MostrarDatos();
pitbull.MostrarDatos();
sanbernardo.MostrarDatos();
Si iniciamos nuestro programa, nos mostrara los datos de nuestros perros.

Acá termina el tutorial de funciones, con los conocimientos que hemos aprendido, en el próximo tutorial mejoraremos la calculadora que habíamos echo.

Codigo Completo
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial_14to
{
class Program
{
static void Main(string[] args)
{
Perro galgo;
Perro pitbull;
Perro sanbernardo;
 
galgo = new Perro("Pepe", 4, "Galgo", true);
pitbull = new Perro("Polo", 2, "Pitbull", false);
sanbernardo = new Perro("Rocko", 2, "San Bernardo", true);
 
galgo.MostrarDatos();
pitbull.MostrarDatos();
sanbernardo.MostrarDatos();
}
}
}
 
Perro.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial_14to { class Perro { private string nombre; private int edad; private string raza; public bool pedigree; public Perro(string Nombre, int Edad, string Raza, bool Pedigree) // Constructor { nombre = Nombre; edad = Edad; raza = Raza; pedigree = Pedigree; } public void MostrarDatos() { if (pedigree == true) { Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad " + edad + ", la raza es " + raza + "y posee Pedigree"); } else { Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad " + edad + ", la raza es " + raza + "y no posee Pedigree"); } } } }