Utilizar Constructores C#
Utilizar Constructores C#
1 de 3
http://msdn.microsoft.com/es-es/library/ms173115.aspx
Este artculo se tradujo de forma manual. Mueva el puntero sobre las frases del artculo para ver el texto original. Ms informacin.
Traduccin
Original
Cuando se crea clase o struct, se llama al constructor. Los constructores tienen el mismo nombre que la clase o struct, e inicializan normalmente los miembros
de datos del nuevo objeto.
En el ejemplo siguiente, una clase denominada Taxi se define mediante un constructor simple. Esta clase crea instancias con el operador new. El operador new
invoca el constructor Taxi inmediatamente despus de asignar la memoria al nuevo objeto.
C#
Un constructor que no toma ningn parmetro se denomina constructor predeterminado. Los constructores predeterminados se invocan cada vez que se crea
una instancia de un objeto mediante el operador new y no se proporciona ningn argumento a new. Para obtener ms informacin, vea Constructores de
instancias (Gua de programacin de C#).
A menos que la clase sea esttica, a las clases sin constructores se les asigna un constructor pblico predeterminado a travs del compilador de C# con el fin de
habilitar la creacin de instancias de clases. Para obtener ms informacin, vea Clases estticas y sus miembros (Gua de programacin de C#).
Es posible evitar que se creen instancias de una clase mediante la conversin del constructor a privado, como se muestra a continuacin:
C#
class NLog
{
// Private Constructor:
private NLog() { }
public static double e = Math.E;
//2.71828...
Sin embargo, el cdigo siguiente genera un error del compilador porque no usa new e intenta utilizar un objeto que no se ha inicializado:
int i;
Console.WriteLine(i);
Como alternativa, se pueden inicializar objetos basados en structs (incluidos todos los tipos numricos integrados) o asignarse y, a continuacin, utilizarse
como en el ejemplo siguiente:
2 de 3
http://msdn.microsoft.com/es-es/library/ms173115.aspx
Cualquier constructor puede utilizar la palabra clave base para llamar al constructor de una clase base. Por ejemplo:
C#
En este ejemplo, se llama al constructor de la clase base antes de ejecutar el bloque del constructor. La palabra clave base se puede utilizar con o sin
parmetros. Cualquier parmetro del constructor se puede utilizar como parmetro de base o como parte de una expresin. Para obtener ms informacin, vea
base (Referencia de C#).
En una clase derivada, si no se llama explcitamente al constructor de la clase base mediante la palabra clave base, se llamar implcitamente al constructor
predeterminado, si existe alguno. Esto significa que las siguientes declaraciones del constructor son efectivamente las mismas:
C#
C#
Si una clase base no proporciona un constructor predeterminado, la clase derivada debe realizar una llamada explcita a un constructor base mediante base.
Un constructor puede invocar a otro constructor en el mismo objeto mediante la palabra clave this. Al igual que base, this se puede utilizar con o sin
parmetros y cualquier parmetro en el constructor est disponible como parmetro para this o como parte de una expresin. Por ejemplo, el segundo
constructor del ejemplo anterior se puede rescribir con this:
C#
3 de 3
http://msdn.microsoft.com/es-es/library/ms173115.aspx
: this(weeklySalary * numberOfWeeks)
{
}
El uso de la palabra clave this en el ejemplo anterior hace que se llame a este constructor:
C#
Los constructores se pueden marcar como public, private, protected, internal o protectedinternal. Estos modificadores de acceso definen cmo los usuarios de
la clase pueden construir la clase. Para obtener ms informacin, vea Modificadores de acceso (Gua de programacin de C#).
Un constructor se puede declarar como esttico mediante la palabra clave static. Se llama automticamente a los constructores estticos de forma inmediata
antes de que se tenga acceso a cualquier campo esttico, y, generalmente, se utilizan para inicializar los miembros de clase estticos. Para obtener ms
informacin, vea Constructores estticos (Gua de programacin de C#).
Vea tambin
Referencia
Clases y structs (Gua de programacin de C#)
Constructores (Gua de programacin de C#)
Destructores (Gua de programacin de C#)
Conceptos
Gua de programacin de C#
Adiciones de comunidad
2014 Microsoft