Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Curso: S3J
Tutorial de implementacin explcita de interfaces
Una clase que implementa una interfaz puede implementar explcitamente
un miembro de esa interfaz. Cuando un miembro se implementa
explcitamente, no es posible obtener acceso a l por medio de una
instancia de clase, sino slo a travs de una instancia de la interfaz. Este
tutorial contiene dos ejemplos. El primer ejemplo ilustra cmo implementar
explcitamente miembros de interfaz y obtener acceso a ellos. El segundo
ejemplo muestra cmo implementar dos interfaces que presentan los
mismos nombres de miembro.
Ejemplo 1
Este ejemplo declara una interfaz IDimensions y una clase Box, la cual
implementa explcitamente los miembros de la interfaz Length y Width. El
acceso a los miembros se realiza a travs de la instancia de
interfaz myDimensions.
// explicit1.cs
interface IDimensions
{
float Length();
float Width();
}
class Box : IDimensions
{
float lengthInches;
float widthInches;
public Box(float length, float width)
{
lengthInches = length;
widthInches = width;
}
// Explicit interface member implementation:
float IDimensions.Length()
{
return lengthInches;
}
// Explicit interface member implementation:
float IDimensions.Width()
{
return widthInches;
}
public static void Main()
{
// Declare a class instance "myBox":
Box myBox = new Box(30.0f, 20.0f);
// Declare an interface instance "myDimensions":
IDimensions myDimensions = (IDimensions) myBox;
// Print out the dimensions of the box:
/* The following commented lines would produce compilation
errors because they try to access an explicitly implemented
interface member from a class instance:
*/
//System.Console.WriteLine("Length: {0}", myBox.Length());
//System.Console.WriteLine("Width: {0}", myBox.Width());
/* Print out the dimensions of the box by calling the methods
from an instance of the interface:
*/
System.Console.WriteLine("Length: {0}", myDimensions.Length());
IMPLEMTAR ATRIBUTOS EN C#
Los atributos constituyen un medio apropiado para asociar informacin
declarativa con cdigo de C# (tipos, mtodos, propiedades, etc.). Una vez
asociado con una entidad del programa, el atributo se puede consultar en
tiempo de ejecucin y utilizar de varias formas.
Entre los ejemplos de uso de atributos, se incluyen:
Ejemplo
En el ejemplo siguiente se implementa un mtodo de extensin
denominado WordCount en la clase CustomExtensions.StringExtension. El
mtodo funciona en la claseString, que se especifica como primer
parmetro de mtodo. El espacio de nombres CustomExtensions se importa
al espacio de nombres de la aplicacin y se llama al mtodo desde el
mtodo Main.