Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clases y objetos
o Miembros de clases
Propiedades y campos
Métodos
Constructores
Finalizadores
Eventos
Clases anidadas
class SampleClass
{
}
struct SampleStruct
{
}
class
struct
Miembros de clases
Cada clase puede tener distintos miembros de clase, entre los que se incluyen las
propiedades que describen los datos de clase, los métodos que definen el
comportamiento de la clase y los eventos que proporcionan comunicación entre
distintos objetos y clases.
Propiedades y campos
class SampleClass
{
public string sampleField;
}
class SampleClass
{
public int SampleProperty { get; set; }
}
class SampleClass
{
private int _sample;
public int Sample
{
// Return the value stored in a field.
get { return _sample; }
// Store the value in the field.
set { _sample = value; }
}
}
La mayoría de las propiedades tienen métodos o procedimientos tanto para
establecer como para obtener el valor de propiedad. Sin embargo, se pueden crear
propiedades de solo lectura o solo escritura para restringir su modificación o
lectura. En C#, se puede omitir el método de propiedad get o set . En cambio, las
propiedades implementadas automáticamente no pueden ser de solo lectura o de
solo escritura.
get
set
Métodos
class SampleClass
{
public int sampleMethod(string sampleParam)
{
// Insert code here
}
}
Constructores.
Finalizadores
Cuando ocurre algo interesante, los eventos habilitan una clase u objeto para
notificarlo a otras clases u objetos. La clase que envía (o genera) el evento recibe el
nombre de publicador y las clases que reciben (o controlan) el evento se
denominan suscriptores. Para obtener más información sobre los eventos y la forma
en que se generan y controlan, vea Eventos.
class Container
{
class Nested
{
// Add code here.
}
}
Para crear una instancia de la clase anidada, use el nombre de la clase contenedora
seguido de un punto y seguido, a continuación, del nombre de la clase anidada:
C#Copiar
Todas las clases y miembros de clase pueden especificar el nivel de acceso que
proporcionan a otras clases mediante los modificadores de acceso.
public Puede obtener acceso al tipo o miembro cualquier otro código del mismo
ensamblado o de otro ensamblado que haga referencia a éste.
Modificador de
C# de esquema JSON
private Solamente puede obtener acceso al tipo o miembro el código de la misma clase.
protected Solamente puede obtener acceso al tipo o miembro el código de la misma clase o
de una clase derivada.
internal Puede obtener acceso al tipo o miembro cualquier código del mismo ensamblado,
pero no de un ensamblado distinto.
protected Puede obtener acceso al tipo o miembro cualquier código del mismo ensamblado o
internal cualquier clase derivada de otro ensamblado.
private protected Un código de la misma clase o de una clase derivada dentro del ensamblado de
clase base puede acceder al tipo o miembro en cuestión.
Para crear un objeto, debe crear una o varias instancias de una clase.
C#Copiar
Una vez creadas las instancias de una clase, puede asignar valores a las
propiedades y los campos de la instancia, así como invocar métodos de clase.
C#Copiar
new (operador)
Inicializadores de objeto y colección
Clases y miembros estáticos
Para obtener acceso al miembro estático, use el nombre de la clase sin crear un
objeto perteneciente a esta:
C#Copiar
Console.WriteLine(SampleClass.SampleString);
Las clases estáticas en C# solo tienen miembros estáticos y no se puede crear una
instancia de ellas.Además, los miembros estáticos no pueden tener acceso a las
propiedades, los campos o los métodos no estáticos.
Los tipos anónimos permiten crear objetos sin escribir una definición de clase para
el tipo de datos.En su lugar, el compilador genera una clase. La clase no tiene
ningún nombre que se pueda usar y contiene las propiedades especificadas al
declarar el objeto.
class DerivedClass:BaseClass{}
Para especificar que una clase no se puede usar como clase base:
C#Copiar
Para especificar que una clase se puede usar solo como clase base y no se pueden
crear instancias de esta:
C#Copiar
sealed
abstract
Reemplazar miembros
Interfaces
Las interfaces, como las clases, definen un conjunto de propiedades, métodos y
eventos. Pero de forma contraria a las clases, las interfaces no proporcionan
implementación. Se implementan como clases y se definen como entidades
separadas de las clases. Una interfaz representa un contrato, en el cual una clase
que implementa una interfaz debe implementar cualquier aspecto de dicha interfaz
exactamente como esté definido.
interface ISampleInterface
{
void doSomething();
}
Para implementar una interfaz en una clase:
C#Copiar
Interfaces
interface
Genéricos
Las clases, las estructuras, las interfaces y los métodos de .NET Framework pueden
incluir parámetros de tipo que definen los tipos de objetos que estos pueden
almacenar o usar. El ejemplo más común de elementos genéricos es una colección,
donde se puede especificar el tipo de objetos que se va a almacenar en una
colección.
Para crear una referencia a un método que coincida con la firma especificada por el
delegado:
C#Copiar
class SampleClass
{
// Method that matches the SampleDelegate signature.
public static void sampleMethod(string message)
{
// Add code here.
}
// Method that instantiates the delegate.
void SampleDelegate()
{
SampleDelegate sd = sampleMethod;
sd("Sample string");
}
}