viernes, 11 de mayo de 2012

Clases en C#


Clases en C#
Por Diógenes Amaury MS 
Para entender el concepto de clase, debemos iniciar por la definición de objeto. Un objeto es un agregado de datos y de métodos que permiten manipular dichos datos, y un programa en C#  es  un conjunto de objetos que interaccionan unos con otros a través de sus métodos.
    Una clase es la definición de las características concretas de un determinado tipo de objetos. Es decir, de cuáles son los datos y los métodos de los que van a disponer todos los objetos de ese tipo. Por esta razón, se suele decir que el tipo de dato de un objeto es la clase que define las características del mismo.
Una clase es un contenedor de uno o más datos (variables o propiedades miembro) junto a las operaciones de manipulación de dichos datos (funciones/métodos

 Creación de una clase en c#
1    Ir a el Nombredel Proyecto pulsamos clic derecho y nos ubicamos en la opción Add, luego  seleccionamos la opción que dice Class.
2       Sustituimos Class1 por el nombre que le vamos a asignar en nuestro caso la llamaremos Estudiante.



  class Estudiante
    {
    }

Como hemos visto simplemente hemos creado el nombre de la clase, ahora procederemos a declarar los miembros de la clase, que para nuestro ejemplo seran los datos generales del estudiante que serán almacenados en  variables
Para tal caso procedemos a declarar la variable recordando que para esto necesitamos la siguiente sintaxis.

<tipovariable> <nombrevariable>;

public class Estudiante
{
  public static  string Matricula;
  public static string Nombre;
  public static string Apellido;
  public static int Edad;
  public static string Direccion;
  public static string Carrera;
}

 Llenando una clase, de forma directa.
Imaginemos que deseamos llenar la clase estudiante sin tener que utilizar objetos adicionales, tales como textbox u otros.
    private void btnllenaclase_Click(object sender, EventArgs e)
        {
            Estudiante.Matricula = "00-0001";
            Estudiante.Nombre = "Juan Mariano";
            Estudiante.Apellido = "Lora Peralta";
            Estudiante.Edad = 19;
            Estudiante.Direccion = "Las Colinas, calle #25";
            Estudiante.Carrera = "Inegieria de Software";
        }

Llenando una clase desde textbox u otro objeto.
        private void btnllenaclase_Click(object sender, EventArgs e)
        {
            Estudiante.Matricula = TXTMATEST.Text;
            Estudiante.Nombre = TXTNOMEST.Text;
            Estudiante.Apellido = TXTAPEEST.Text;
            Estudiante.Edad = Convert.ToInt32(TXTEDAEST.Text);
            Estudiante.Direccion = TXTDIREST.Text;
            Estudiante.Carrera = TXTCAREST.Text;
        }
Si queremos llamar la clase anterior desde otro formulario el procedimiento sería inverso al anterior:
TXTMATEST.Text =Estudiante.Matricula ;
TXTNOMEST.Text = Estudiante.Nombre ;
TXTAPEEST.Text = Estudiante.Apellido;
TXTEDAEST.Text = Convert.ToString (Estudiante.Edad);
TXTDIREST.Text =Estudiante.Direccion;
TXTCAREST.Text =Estudiante.Carrera ;


Herencia de una clase:
La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y objetos. 
Sintaxis.
class Clasehija : ClasePadre
     {


     }

Aquí mostramos un ejemplo de la clase nota que hereda de la clase Estudiantes todos sus atributos.
   public class nota : Estudiante
     {
       
     }

Los métodos son un bloque de código que contiene una serie de instrucciones. En C#, cada instrucción se ejecuta en el contexto de un método.
Los métodos se declaran en una clase o estructura especificando el nivel de acceso, el valor devuelto, el nombre del método y los parámetros de método. Los parámetros de método se incluyen entre paréntesis y separados por comas. Los paréntesis vacíos indican que el método no requiere ningún parámetro.
public class nota : Estudiante
  {
  public static double promedio(double nota1, double nota2, double nota3)
   {
   return (nota1 + nota2+ nota3)/3;
   }
  }

Instancia de Clase:
Una vez que tenemos una clase definida, lo único de lo que disponemos es de una especie de plantilla o molde a partir del cual podemos crear objetos en memoria. Logramos estos Mediante la instrucción new que es la encargada de crear el objeto en la memoria y asignar la dirección del mismo a la variable usada en la parte izquierda de la asignación
      
   Form fomulario = new Form2();
   fomulario.Show();

En el ejemplo anterior instanciamos a la variable fomulario el objeto tipo Form llamado Form2, para luego ser llamado con el metdodo Show.

Ejemplo: Instanciando la clase Estudiante

Estudiante estu = new Estudiante();
En este caso, la variable estu adquiere todas las características de la clase Estudiante, ya que es una copia en memoria de dicho Objeto.