Tartalomjegyzék:
Meghatározás - Mit jelent a Destructor?
A pusztító egy speciális módszer, amelyet automatikusan meghívnak egy objektum megsemmisítése során. A pusztítóban végrehajtott műveletek a következőket foglalják magukban:
- Az objektum élettartama alatt kiosztott halomtér helyreállítása
- Fájl- vagy adatbázis-kapcsolatok bezárása
- Hálózati erőforrások felszabadítása
- Erőforrás-zárak felszabadítása
- Egyéb takarítási feladatok
A Techopedia magyarázza a Destructor-t
A pusztítókat kifejezetten a C ++-ban hívják. A C # és a Java esetében azonban nem ez a helyzet, mivel az objektumok számára elkülönített memória kiosztását és felszabadítását a szemétszedő kezeli. Míg a C # és a Java destruktúrái (úgynevezett véglegesítők) nem determinisztikusak, addig a C # destruktátorokat garantáltan a .NET futási idő hívja. A Java véglegesítőket azonban kifejezetten meg kell hívni, mivel meghívásuk nem garantált.
A destruktorok legfontosabb tulajdonságai az alábbiak szerint foglalhatók össze:
- Automatikus hívás és nincs kifejezett hívás a felhasználói kódból
- Túlterhelés vagy öröklés nem megengedett
- A hozzáférés módosítóit vagy paramétereit nem kell megadni
- A származtatott osztályba tartozó pusztító hívásának sorrendje a legszármaztatotttól a legkevésbé származottig
- Nem csak az objektumpusztítás során hívják, hanem akkor is, amikor az objektumpéldány már nem jogosult hozzáférésre
- Osztályokban használják, de nem szerkezetekben
- Csak az objektum birtokában lévő, nem kezelt erőforrások (például ablakok, hálózati kapcsolat stb.) Kiadására, nem pedig a kezelt hivatkozások kiadására.