Destructori — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

Nivelul 4 — Clase

Destructori

Note originale de SunDiaL · Vezi sursa în engleză

Dacă un constructor este responsabil de crearea unui obiect al clasei tale, destructorul este responsabil de distrugerea lui.

În practică, un destructor nu este neapărat necesar, deoarece responsabilitatea eliberării memoriei a fost preluată de la dezvoltator odată cu introducerea colectoarelor de memorie. Dacă totuși trebuie să faci ceva la distrugerea obiectului, există un mecanism suplimentar oferit de șablonul Disposable. Vom discuta despre el mai târziu.

Definirea unui destructor

Un destructor se definește asemănător unui constructor, adăugând ~.

public class ExampleClass()
{
	public ~ExampleClass()
	{
		//something to do when the object is destroyed
	}
}

Apelarea unui destructor

Un destructor în C# nu este folosit direct de dezvoltator. El este apelat de colectorul de memorie atunci când acesta consideră că obiectul poate fi colectat.