Rozdiel medzi konštruktorom a ničiteľom

Autor: Monica Porter
Dátum Stvorenia: 13 Pochod 2021
Dátum Aktualizácie: 17 Smieť 2024
Anonim
Destructors in C++
Video: Destructors in C++

Obsah

Hlavný rozdiel

Konštruktor je definovaný ako exkluzívna metóda používaná pre štruktúru alebo triedu v programovacích jazykoch, ktoré pomáhajú dať pôvodnej hodnote položku rovnakého typu. Na druhej strane sa deštruktor definuje ako exkluzívna metóda použitá na zničenie programu, ktorý beží nepretržite.


Porovnávacia tabuľka

základstaviteľničiteľ
definíciaVýhradná metóda používaná pre štruktúru alebo triedu v programovacích jazykoch, ktorá pomáha dať pôvodnej hodnote položku rovnakého typu.Výhradná metóda použitá na zničenie programu, ktorý beží nepretržite.
prírodaUnikátna kapacita, ktorá sa po vyvolaní otázky triedy nazýva.Nezvyčajná kapacita, ktorá sa nazýva prirodzene, keď sa triedna otázka vymaže alebo opustí rozsah.
PamäťPridelenie pamäte pridanej položke.Na dokončenie pamäte pridelenej objektu.
povolaniaAutomaticky sa volá, kedykoľvek vytvoríme nový objekt.Automaticky sa volá, kedykoľvek je blok vzrušený alebo sa program ukončí.

Čo je to Constructor?

Konštruktor je definovaný ako exkluzívna metóda používaná pre štruktúru alebo triedu v programovacích jazykoch, ktoré pomáhajú dať pôvodnej hodnote položku rovnakého typu. Tento výraz sa stáva užitočným vždy, keď máme rovnaký názov triedy, ktorá sa používa alebo poskytuje hodnoty členom objektu, ktoré môžu zostať používateľom definované alebo predvolené. Konštruktor vyzerá ako vzorová stratégia; Kontrastuje však od techniky v tom, že nemá jednoznačný druh návratnosti, nie je možné ju overiť a z väčšej časti má rôzne štandardy pre modifikátory titulov. Konštruktori majú pravidelne rovnaké meno ako v prednášacej triede. Majú tú česť vnášať informácie jednotlivcom otázky a zostavovať invariant triedy, ak je invariant neplatný, padajú rovno. Vhodne zložený konštruktér ponecháva nasledujúci protest v právnom štáte. Trvalé položky musia byť v stave konštruktora. Konštruktor môže byť vyhlásený pomocou ktoréhokoľvek z modifikátorov. Je to tak, ako je to možné, kompilátor dodáva predvolenú hodnotu, ak sa dostane k modifikátoru, ktorý nie je charakterizovaný v tejto triede. Pri príležitosti, že konštruktér bude vyhlásený za súkromný, trieda nemôže byť vytvorená alebo určená, a teda nemôže byť vytvorená inštanciou.Časť hlavných zamestnaní tohto zamestnania zahŕňa; Logika vrátane operácií, ktoré by sa mali vykonať pri konkrétnej príležitosti v aplikácii - napríklad pri otvorení priradenia databázy by nemala byť zložená z konštruktora. Podobne pri použití odvodených konštruktorov triedy by konštruktoru materskej triedy mali byť odovzdané správne parametre.


Čo je Destructor?

Deštruktor sa definuje ako exkluzívna metóda použitá na zničenie programu, ktorý beží nepretržite. Niektoré z primárnych krokov zahrnutých v tejto akcii zahŕňajú proces obnovy haldy, priestor pridelený počas životnosti objektu, zatvorenie súboru a úpravu pripojení k databáze spolu s uvoľnením zdrojov siete. Môže sa to stať, keď je jeho životnosť viazaná na určitý rozsah, a exekúcia opúšťa stupeň, keď sa inštaluje v inej otázke, ktorej životnosť sa uzavrie, alebo keď bola postupne distribuovaná a výslovne vybitá. Jej zásadným dôvodom pre existenciu je oslobodenie aktív, napríklad priradenia pamäte, otvorených dokumentov alebo príloh, databázových združení, zámkov aktív atď., Ktoré boli získané touto otázkou počas jej životnosti, ako aj zrušenie registrácie rôznych látok, ktoré môžu viesť odkazy na to. Destruktory sa nazývajú výslovne v C ++. V každom prípade v C # a Java to tak nie je, pretože o určenie a príchod pamäte distribuovanej do položiek sa skutočne stará mestský pracovník. Zatiaľ čo deštruktory v C # a Java nie sú deterministické, deštruktory C # sú zabezpečené, aby ich zavolali runtime siete .NET. V každom prípade musia byť finalizátori Java výslovne privolaní, pretože ich čarovanie nie je zabezpečené. Časť hlavných činností vykonávaných týmto zahŕňa; Automatické vyvolávanie a žiadne jasné volanie z klientskeho kódu, nadmerné zaťaženie alebo odkaz nie sú povolené, dostanú sa k modifikátorom alebo parametrom, ktoré sa neurčujú, požiadavka na volanie do deštruktora v získanej triede je od naj odvodenejších k najmenším odvodeným.


Kľúčové rozdiely

  1. Konštruktor je definovaný ako exkluzívna metóda používaná pre štruktúru alebo triedu v programovacích jazykoch, ktoré pomáhajú dať pôvodnej hodnote položku rovnakého typu. Na druhej strane sa deštruktor definuje ako exkluzívna metóda použitá na zničenie programu, ktorý beží nepretržite.
  2. Konštruktor je jedinečná kapacita, ktorá sa získa, keď sa vytvorí otázka triedy. Na druhej strane deštruktor je mimoriadne postavenie, ktoré sa prirodzene nazýva, keď sa triedna otázka vymaže alebo opustí rozsah.
  3. Primárnou úlohou konštruktora je pridelenie pamäte pridanej položke. Na druhej strane primárnou úlohou deštruktora je dokončenie pamäte priradenej objektu.
  4. Konštruktor má schopnosti akceptovať rôzne argumenty pridané mimo štruktúry, na druhej strane ničiteľ neberie žiadne také argumenty.
  5. Konštruktor sa volá automaticky, kedykoľvek vytvoríme nový objekt. Naopak, deštruktor sa volá automaticky, kedykoľvek sa blok vzrušuje alebo sa program ukončí.
  6. Konštruktori vždy existujú v postupných objednávkach, a preto dostanú rovnaké meno. Na druhej strane sa deštruktory vždy volajú v opačnom poradí, a preto dostanú opačné názvy.

Stupa vs. Temple - Aký je rozdiel?

John Stephens

Smieť 2024

Hlavným rozdielom medzi tupou a Chrámom je to, že tupa je mohylová tavba, ktorá obahuje budhitické relikvie, zvyčajne popol budhitických mníchov, ktorý použ...

Hlavný rozdiel medzi vinaigretmi a octom je ten Vinaigrette je omáčka vyrobená z oleja a octu a bežne a používa ako zálievka a Ocot je kvapalina pozotávajúca hlavne ...

Zaujímavý