TOC

This article is currently in the process of being translated into Czech (~64% done).

Třídy:

Konstruktory a destruktory

Konstruktory jsou speciální metody používané při vytváření instancí třídy. Konstruktér nemůže nikdy nic vrátit, a proto nemusíte definovat návratový typ. Normální metoda je definována takto:

public string Describe()

Konstruktor může být definován takto:

public Car()

V našem příkladu pro tuto kapitolu máme třídu Car s konstruktérem, který má argument jako řetězec. Samozřejmě, že konstruktér může být přetížen, což znamená, že můžeme mít několik konstruktorů se stejným názvem, ale s různými parametry. Zde je příklad:

public Car()
{

}

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

Konstruktér může zavolat dalšího konstruktér, který může přijít vhod v několika situací. Zde je příklad:

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

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

Pokud spustíte tento kód, uvidíte, že konstruktor bez parametrů se vykoná dříve. Toto může být využito pro vytvoření instance objektů pro třídu v základním konstruktoru, které mohou být volány z ostatních konstuktorů třídy. Pokud konstruktor, jež si přeješ zavolat, obsahuje parametry, můžeš to tak také udělat. Zde je jednoduchý příklad:

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

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

}

Pokud zavoláte konstruktoru, který má 2 parametry, bude první parametr použit pro vyvolání konstruktoru, který má jeden parametr.

Destructors

Since C# is garbage collected, meaning that the framework will free the objects that you no longer use, there may be times where you need to do some manual cleanup. A destructor, a method called once an object is disposed, can be used to cleanup resources used by the object. Destructors doesn't look very much like other methods in C#. Here is an example of a destructor for our Car class:

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

Once the object is collected by the garbage collector, this method is called.


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!