Obsah:
Definice - Co znamená Destructor?
Destruktor je speciální metoda, která se nazývá automaticky během zničení objektu. Akce prováděné v destruktoru zahrnují následující:
- Obnova prostoru haldy přiděleného během životnosti objektu
- Ukončení připojení k souboru nebo databázi
- Uvolnění síťových zdrojů
- Uvolnění zámků zdrojů
- Ostatní úklidové úkoly
Techopedia vysvětluje Destructor
Destruktory se nazývají výslovně v C ++. V C # a Java tomu tak ale není, protože přidělování a uvolňování paměti přidělené objektům je implicitně zpracováno sběratelem odpadu. Zatímco destruktory v C # a Java (nazývané finalizátory) jsou nedeterministické, C # destruktory jsou zaručeny, že budou volány časem spuštění .NET. Finalizátory Java však musí být explicitně vyvolány, protože jejich vyvolání není zaručeno.
Klíčové vlastnosti destruktorů lze shrnout takto:
- Automatické vyvolání a žádné explicitní volání z uživatelského kódu
- Přetížení nebo dědictví není povoleno
- Modifikátory přístupu nebo parametry nebudou specifikovány
- Pořadí volání do destruktoru v odvozené třídě je od nejvíce odvozeného k nejméně odvozenému
- Nazývá se nejen během ničení objektu, ale také tehdy, když instance objektu již není způsobilá pro přístup
- Používá se ve třídách, ale ne strukturách
- Používá se pouze k uvolnění drahých nespravovaných prostředků (jako jsou okna, síťové připojení atd.), Které objekt drží, spíše než k uvolnění spravovaných odkazů.
