TOC

This article is currently in the process of being translated into Czech (~41% 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!");
}

If you run this code, you will see that the constructor with no parameters is called first. This can be used for instantiating various objects for the class in the default constructor, which can be called from other constructors from the class. If the constructor you wish to call takes parameters, you can do that as well. Here is a simple example:

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, meaing 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!