TOC

This article has been localized into Portuguese by the community.

Classes:

Construtores e destrutores

Construtores são métodos especiais, usados para instanciar uma classe. Um construtor nunca pode retornar nada, e é por isso que você não precisa definir um tipo de retorno para ele. Um método normal é definido assim:

public string Describe()

Um construtor pode ser definido assim:

public Car()

Em nosso exemplo para este capítulo, temos uma classe Car, com um construtor que usa uma string como argumento. Naturalmente, um construtor também pode ser sobrecarregado, o que significa que podemos ter vários construtores, com o mesmo nome, mas parâmetros diferentes. Aqui está um exemplo:

public Car()
{

}

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

Um construtor pode chamar outro construtor, o que pode ser útil em várias situações. Aqui está um exemplo:

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

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

Se você executar este código, verá que o construtor sem parâmetros é chamado primeiro. Isso pode ser usado para instanciar vários objetos para a classe no construtor padrão, que pode ser chamado de outros construtores da classe. Se o construtor que você deseja chamar requer parâmetros, você também pode fazer isso. Aqui está um exemplo simples:

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

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

}

Se você chamar o construtor que usa 2 parâmetros, o primeiro parâmetro será usado para invocar o construtor que recebe 1 parâmetro.

Destruidores

Devido o C # ser coletado pelo Garbage Collector, conforme o framework libera os objetos que você não usa mais, pode haver momentos em que você precise fazer alguma limpeza manual. Um destruidor, um método chamado quando um objeto é descartado, pode ser usado para limpar os recursos usados pelo objeto. Destrutores não se parecem muito com outros métodos em C#. Aqui está um exemplo de um destruidor para nossa classe Car:

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

Depois que o objeto é coletado pelo coletor de lixo, esse método é chamado.

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!