TOC

This article has been localized into Spanish by the community.

Clases:

Constructores y destructores

Los constructores son métodos especiales, usados cuando instanciamos una clase. Un constructor nunca puede devolver nada, por lo que no tiene que definir un tipo de retorno para el. Un método normal se define así:

public string Describe()

Un constructor es definido así:

public Car()

En nuestro ejemplo para este capítulo, tenemos una clase Car, con un constructor que toma una cadena como argumento. Por supuesto, un constructor también puede estar sobrecargado, lo que significa que podemos tener varios constructores, con el mismo nombre, pero con diferentes parámetros. Aquí hay un ejemplo:

public Car()
{

}

public Car(string color)
{
    this.color = color;
}

Un constructor puede llamar a otro constructor, lo cual puede ser útil en varias situaciones. Aquí hay un ejemplo:

public Car()
{
    Console.WriteLine("Constructor with no parameters called!");
}

public Car(string color) : this()
{
    this.color = color;
    Console.WriteLine("Constructor with color parameter called!");
}

Si ejecuta este código, verá que el constructor sin parámetros es llamado primero. Esto puede ser usado para crear una instancia de varios objetos para la clase en el constructor predeterminado, que se puede llamar desde otros constructores de la clase. Si el constructor al que desea llamar toma parámetros, puede hacerlo también. Aquí hay un ejemplo sencillo:

public Car(string color) : this()
{
    this.color = color;
    Console.WriteLine("Constructor with color parameter called!");
}

public Car(string param1, string param2) : this(param1)
{

}

Si llamas al constructor que toma 2 parámetros, el primer parámetro se usará para invocar al constructor que toma un parámetro.

Destructores

Desde que C# es recolectador de basura, significa que el framework liberará los objetos que ya no use, habrán ocasiones donde necesite hacer alguna limpieza manual. Un destructor, un método invocado una vez que el objeto es puesto a disposición, puede ser usado para limpiar recursos usados por el objeto. Los destructores no se ven tanto como otros métodos en C#. Aquí hay un ejemplo de un destructor de nuestra clase Car:

~Car() 
{
    Console.WriteLine("Out..");
}

Una vez que el objeto es recogido por el recolector de basura, este método es invocado.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!