17/06/08

Examen 70-536 Cap 1 Leccion 3

Herencia:
segun wikipedia, En programación, mecanismo que permite derivar características de una clase a otra y así extender sus funcionalidades. Uno de sus funciones más importantes es proveer polimorfismo.
En la Clase DerivedException es hija , pues hereda de System.ApplicationException
la Herencia en C# la representamos mediante el operador":"

class DerivedException : System.ApplicationException
{
    public override string Message
    {
        get { return "Ha Ocurrido una Excepción"; }
    }
}

y tambien sobrecarga o "overrride" sobreescribe el metodo ya existente en la clase padre ApplicationException , retornando una cadena.
Probamos la Excepcion:

try
{

//Lanzamos la Excepcion
throw new DerivedException();
}

//capturamos la Excepcion
catch (DerivedException ex)
{
Console.WriteLine("Fuente: {0}, Error: {1}", ex.Source, ex.Message);
}

Interfaces:

Las Interfaces definen un conjunto de Miembros y Metodos comunes a implementar por clases que las implementan.

class MiClase : IDisposable
{

    MiClase()
    {


    }
}


Class Descripción
IComparable

Define un método de comparación generalizado, implementado por un tipo de valor o clase para crear un método de comparación específico del tipo.

IDisposable Define un método para liberar los recursos no administrados asignados.
Ejm: Cuando Cerramos una cadena de Conecion, Liberamos los Recursos consumidos por la Conexion.
IConvertible Define métodos que convierten el valor de la referencia o tipo de valor de implementación en un tipo de Common Language Runtime con un valor equivalente.
IClonable Admite la clonación, que crea una nueva instancia de una clase con el mismo valor que una instancia existente.
IEquatable Define un método generalizado, que implementa una clase o tipo de valor con el fin de crear un método específico del tipo para determinar la igualdad de instancias.
IFormattable Proporciona funcionalidad para dar formato al valor de un objeto en una representación de cadena
image

class Mensaje : IMensaje
{
    #region Miembros de IMensaje

    public bool Enviar()
    {
        throw new Exception("The method or operation is not implemented.");
    }

    string IMensaje.Mensaje
    {
        get
        {
            throw new Exception("The method or operation is not implemented.");
        }
        set
        {
            throw new Exception("The method or operation is not implemented.");
        }
    }

    public string Direccion
    {
        get
        {
            throw new Exception("The method or operation is not implemented.");
        }
        set
        {
            throw new Exception("The method or operation is not implemented.");
        }
    }

    #endregion
}
interface IMensaje
{
    bool Enviar();
    string Mensaje
    {
        get;
        set;
    }
    string Direccion
    {
        set;
        get;
    }

}

Clases y Metodos Parciales

Es posible dividir la definición de una clase, estructura, interfaz o método en dos o más archivos de código fuente. Cada archivo de código fuente contiene una sección de la definición de tipos o métodos, y todas las partes se combinan cuando se compila la aplicación.

class Container {
partial class Nested {
       void Test()
       {
       }
   }
partial class Nested {
      void Test2()
       {
       }
    }
}
En este caso podemos ver que tenemos dos clases con mi nismo nombre dentro de la clase Container
Generics

class Obj
{
    public Object t;
    public Object u;
   public Obj(Object _t, Object _u){

     t = _t;
    u = _u;
  }
}
class Gen<T, U>
{
    public T t;
    public U u;
    public Gen(T _t, U _u)  {
   t = _t;
   u = _u;
  }
}

en este post esta basado en Generics
Eventos:

Una definición de Evento: es una mensaje a un objeto en respuesta a una acción , tenemos los eventos mas conocidos los que ocurren sobre los objetos tanto win como web , OnClick, OnPress , OnOver , etc.

Delegados:

Los delegados son un tipo que representa a una función con una determinada declaración, segun sigamos con el Manual veremos mas acerca de delegados.

Vamos a analizar esta definición poco a poco, ya que dice mucho en muy pocas palabras 

  • Los delegados son un TIPO.

  • Los delegados representan a una función.

  • La función debe tener una determinada declaración

Atributos:

Para nuestra Clase AssemblyInfo.cs

// C# - AssemblyInfo.cs
[assembly: AssemblyTitle("ch01cs")]
[assembly: AssemblyDescription("Chapter 1 Samples")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft Learning")]
[assembly: AssemblyProduct("ch01cs")]
[assembly: AssemblyCopyright("Copyright © 2006")]
[assembly: AssemblyTrademark("")]

***************************************************************

// C#
[Serializable]
class ShoppingCartItem
{
}

Aqui en este Atributo Indicamos que la clase ShoopingCartItem es "Serializable"
Bueno, continuaremos mas adelante
Muchas Gracias.
Jose Fabricio Rojas