Teraz zajmiemy się destruktorami, jak zapewne pamiętasz są konstruktory, które to wywoływane są kiedy tworzony jest obiekt, z destruktorami jest zupełnie inaczej one są wywoływane wtedy gdy niszczony jest obiekt. A kiedy jest niszczony obiekt? Na pewno jest niszczony wtedy gdy nie będzie już używany oraz zwolnić zbędną pamięć, a najprościej wtedy gdy kończy się wykonywanie naszego programu. O.K zaczniemy od ogólnej deklaracji destruktora, która to wygląda następująco:
~nazwa_klasy()
{
…
}
Poniżej znajduje się którymi programik w którym ukazane jest działanie destruktorów:
Początek kodu:
using System;
class Obiekt
{
int a;
public Obiekt(int a)
{
this.a = a;
}
~Obiekt(){
Console.WriteLine(„Niszczę obiekt którego \’a\’ wynosi: ” + a);
}
}
class Pokaz
{
public static void Main(){
Obiekt[] obiekty = new Obiekt[100];
for (int i = 0; i < 100; i++)
{
Console.WriteLine(„Tworzę obiekt ” + i);
obiekty[i] = new Obiekt(i);
}
}
}
Koniec kodu:
Napisaliśmy klasę o nazwie Obiekt która to przechowuje jakąś liczbę typu int, następnie za pomocą [] indeksu tworzymy coś w rodzaju tablicy obiektów klasy Obiekt, jak widzisz nasze obiekty są niszczone po utworzeniu, przy wychodzeniu z programu.