Úvod do konstruktoru a ničitele

Konstruktor a ničitel. Konstruktor je speciální funkce, která má stejný název jako třída, ve které byla definována. Volá se automaticky při každém vytvoření nové instance. Je považována za zvláštní druh funkce, protože není nutné ji explicitně nazývat pomocí objektu. Destruktor libovolný může být definován jako zvláštní druh metody, která může být zrušena, když je instance odstraněna. Účelem Destruktoru je uvolnit paměť, kterou s ním váže, zatímco byla vytvořena instance třídy. Koncept Destructoru se týká správy paměti, aby bylo možné zdroje efektivně využívat. V jazycích, jako je C ++, existuje pojem Destructor a mohl by být vyvolán automaticky, jakmile byla instance odstraněna, zatímco v jazyce, jako je Java, koncept Destructor neexistuje. To umožňuje, aby byl program psán dobrým způsobem, aby mohl být správně kompilován a mohl být lehký z hlediska spotřeby paměti.

Srovnání hlava-hlava mezi konstruktorem a ničitelem

Níže je uvedeno Top 4 srovnání mezi konstruktorem a ničitelem

Klíčové rozdíly mezi konstruktorem a ničitelem

Mezi konstruktory a destruktory existuje několik rozdílů. Níže jsou uvedeny některé běžné a důležité rozdíly.

  • Konstruktor je vyvolán při vytvoření instance této třídy. Není třeba ho explicitně nazývat. V případě destruktoru se vyvolá, když je odstraněna instance jakékoli třídy. Je to také něco, co přichází do role ihned po smazání objektu.
  • Konstruktor vede k obsazení paměti systému jejich umístěním k prostředkům a v případě destruktoru je to právě naopak. V destruktoru je uvolněna paměť, která byla přiřazena k prostředkům, aby mohla být použita jiným prostředkem.
  • K deklarování konstruktéra není třeba zvláštního charakteru. Lze jen vytvořit metodu, jejíž název je podobný názvu třídy. V případě destruktoru musí být znak vlnovky použit k zavedení destruktoru do programu.
  • Konstruktor lze použít v programovacím jazyce vysoké a střední úrovně. V případě destruktoru jej však nelze použít v jazyce vyšší úrovně. C ++ je schopen používat destruktor, ale totéž není dostupné v Javě. Je to z toho důvodu, že programovací jazyk na vysoké úrovni měl svůj vlastní mechanismus pro správu paměti.
  • Konstruktor je v programu velmi často používán. Použití je velmi jednoduché a snižuje složitost programu. Na druhé straně je destruktor upřednostňován, když je potřeba snížit spotřebu paměti prostředky programu.

Srovnání hlava-hlava mezi konstruktorem a ničitelem

KonstruktorDestruktor
Vyvoláno při vytváření instance
Když je vytvořena instance nebo objekt libovolné třídy, vede to k automatickému volání konstruktoru, který provede všechny příkazy podle metody konstruktoru, která má být provedena.
Vyvoláno při mazání instance
Když je instance nebo objekt odstraněn, destruktor se vyvolá automaticky a poté jsou příkazy třídy destruktoru prováděny postupně.
Zabírá paměť
Zatímco je třída vyvolána, přiděluje paměť všem prostředkům, které bude třída dále používat. To vede ke spotřebě paměti systému k trvalému nebo dočasnému ukládání dat.
Uvolňuje paměť
Zatímco je vyvolán destruktor, uvolňuje všechny vzpomínky, že zdroje byly obsazeny. Uvolněná paměť může být dále lokalizována k jiným prostředkům, které jsou v programu použity.
Podporováno ve středních a vyšších jazycích
Konstruktor je volán automaticky vždy, když byla vytvořena instance této třídy a tato funkce je podporována oběma druhy jazyků: Programovací jazyky střední a vyšší úrovně.
Podpora pouze v jazyce střední úrovně
Funkce destruktoru jsou podporovány pouze v jazyce střední úrovně, jako je C ++. Pokud jde o jazyk na vysoké úrovni, jako je Java, neumožňuje takové funkce, protože má svůj vlastní způsob správy paměti.
Během deklarace se nevyžaduje žádný zvláštní znak
Abychom mohli deklarovat konstruktor, stačí napsat název metody, která musí být stejná jako jméno třídy. Pro deklaraci konstruktéra by neměl být vyžadován žádný zvláštní znak.
Tilde se používá při deklaraci
K deklarování destruktoru bude nutné použít vlnovku. Za konstruktérem musí následovat znak vlnovky a musí končit malými závorkami, jak se to děje v každé funkci.

Závěr

  • Konstruktor není nic jiného, ​​než jen metoda, která má stejný název jako třída. Jakmile jsou instance vytvořeny, netrvá dlouho. Objekt lze v tomto případě vytvořit pomocí stejné syntaxe, jakou se používá k vytvoření objektu libovolné třídy. V době, kdy je objekt vytvořen, zabírá místo v paměti a provádí příkaz konstruktoru při provádění.
  • Deštruktor je něco přesně protikladného k konstruktoru. Vyvolá se ihned po vymazání objektu. Ve skutečnosti, když je objekt odstraněn, odstraní všechny prostředky, které k němu byly umístěny, což vede k uvolnění všech vzpomínek, které byly jimi rezervovány, aby nové zdroje mohly tuto paměť použít. Ačkoli existují určité rozdíly mezi oběma koncepty, oba hrají zásadní roli v programování a zvláště když hovoříme o účinném programování pomocí jazyka na střední úrovni.

Doporučené články:

Toto je průvodce rozdílem mezi konstruktorem a ničitelem. Zde diskutujeme úvod do Constructor and Destructor, hlavní rozdíly spolu s srovnávací tabulkou. Další informace naleznete také v dalších navrhovaných článcích -

  1. C ++ vs Java
  2. Rozhovory s C ++
  3. Dotazy k rozhovoru Java Collection
  4. Kariéra v počítačovém programování

Kategorie: