sábado, 10 de abril de 2010

Programacion Orientada a Objetos en C#

Visual C#.NET
Es creado especialmente para .NET,100% Orientado a Objetos y Componentes,este tiene su sintaxis derivada de C, C++, Delphi y Java.

Clases.
Las clases son declaradas mediante la palabra reservada class:
class CuentaBancaria
{
//Definición de miembros
}
Métodos.
Los métodos se conforman de la siguiente forma:
modificador_acceso tipo_retorno nombre_método(tipo_dato firma1,tipo_dato2 firma2, tipo_daton firma_n){}

public void HacerDeposito(int importe){} //No devuelve valor
public int ObtenerInventario(int codArticulo,int articulo2){} //Devuelve un entero

Sobrecarga de Métodos.
Varios métodos con el mismo nombre pero diferente firma.
public void HacerDeposito(int importe) {}
public void HacerDeposito(int importe, bool acreditar){}

Métodos de clase.
Miembros que no requieren de una instancia para ser invocados.

public static void HacerDeposito(int importe) {}

Propiedades.

Las propiedades son miembros que ofrecen un mecanismo flexible para leer, escribir o calcular los valores de campos privados. Se pueden utilizar las propiedades como si fuesen miembros de datos públicos, aunque en realidad son métodos especiales denominados descriptores de acceso. De este modo, se puede tener acceso a los datos con facilidad, a la vez que proporciona la seguridad y flexibilidad de los métodos.

class CtaCte
{ int balance;
public int Balance
{ get{return balance;}
set {balance = value;}
}
}
class Cliente
{
public string Nombre { get; set; }
public int Edad { get; set; }
public int Cuenta { get; set; }
}

Herencia.
class Cuenta {} //Clase Base
class CtaCte : Cuenta { } //Clase Derivada
Dos palabras clave que afectan la “habilidad” de heredar desde una clase base:
public sealed class Cuenta{
//No se puede heredar de esta clase “sellada”
}
public abstract class Cuenta{
//No se pueden crear instancias de esta clase, sólo
//de sus derivadas ya que es una clase abstracta.
}
NOTA: Los miembros privados de clases base se heredan en las clases derivadas pero éstas no pueden tener acceso a ellos.

Constructores.

Son métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase.

class CtaCte
{ public CtaCte(){...} //Const. por default
public CtaCte(int i){...} //Const. con un parametro
}


Modificadores de Acceso (Alcance de miembros).


Los modificadores de acceso definen el acceso(visibilidad) de los miembros(atributos,metodos) de una clase.
-En C# todo miembro es declarado como PRIVATE por default.-
Tanto para los atributos como para los métodos de una clase puede configurarse el nivel de visibilidad o acceso que estos tendrán hacia el mundo exterior.

Públic: un miembro público puede ser accedido desde cualquier otra clase.
Private: un miembro privado solamente puede ser accedido desde la clase en la que está declarado.
internal:Los tipos o miembros internos sólo son accesibles dentro de los archivos del mismo ensamblado.
Proteted: un miembro protegido solamente puede ser accedido desde la clase en la que está declarado y desde las clases que hereden de ella.
Proteted internal:Sólo los tipos derivados o tipos dentro del mismo ensamblado pueden tener acceso a ese miembro.


Enumeraciones.
Es un tipo distinto que consiste en un conjunto de constantes con nombre denominado lista de enumeradores. Cada tipo de enumeración tiene un tipo subyacente, que puede ser cualquier tipo integral excepto char. El tipo predeterminado subyacente de los elementos de la enumeración es int. De forma predeterminada, el primer enumerador tiene el valor 0 y el valor de cada enumerador sucesivo se incrementa en 1.

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

Atributos de clase.
Los atributos de clase tienen la siguiente estructura:
modificadr_acceso static tipo_dato nombre_atributo;

public static string color="red";

Metodos virtuales(sobreescritura).
Los metodos virtuales se utilizan para definir a un metodo en una superclase como un metodo que se puede sobreescribir.
Los metodos virtuales heredados por alguna superclase se pueden sobreescribir utilizando la palabra clave override.

public virtual double Area()
{ return x * y;}

Sobreescribiendo metodos virtuales

public override double Area()
{ return PI * x * x;}

Interfaces.
Las interfaces pueden estar compuestas de métodos, propiedades, eventos, indizadores o cualquier combinación de estos cuatro tipos de miembros. Una interfaz no puede contener atributos. Los miembros de interfaz son automáticamente públicos.

interface ICtaCve
{
void metodo1();
void metodo2(string cuenta);
}

Implementando metodos de una interfaz(implicito).

class myClass:ICtaCve
{
public void metodo1(){}
public void metodo2(string a){}
}

No hay comentarios:

Publicar un comentario

CoMeNtArIoS y MaS...