Rozdíl mezi konstruktorem a ničitelem

Autor: Monica Porter
Datum Vytvoření: 13 Březen 2021
Datum Aktualizace: 12 Smět 2024
Anonim
Rozdíl mezi konstruktorem a ničitelem - Věda
Rozdíl mezi konstruktorem a ničitelem - Věda

Obsah

Hlavní rozdíl

Konstruktor je definován jako exkluzivní metoda použitá pro strukturu nebo třídu v programovacích jazycích, které pomáhají přiřadit počáteční hodnotu položce stejného typu. Na flipside je destruktor definován jako exkluzivní metoda použitá pro zničení programu, který běží nepřetržitě.


Srovnávací tabulka

ZákladKonstruktorDestruktor
DefiniceExkluzivní metoda použitá pro strukturu nebo třídu v programovacích jazycích, která pomáhá přiřadit počáteční hodnotu položce stejného typu.Exkluzivní metoda používaná ke zničení programu, který běží nepřetržitě.
PřírodaJedinečná kapacita, která se při vyvolání otázky třídy nazývá výsledkem.Neobvyklá kapacita, která se nazývá přirozeně, když je otázka třídy vymazána nebo opustí rozsah.
PaměťPřidělení paměti přidané položce.Dokončení paměti přidělené objektu.
PovoláníAutomaticky se nazývá, kdykoli vytvoříme nový objekt.Automaticky se nazývá, kdykoli se blok vzrušuje nebo se program ukončí.

Co je Constructor?

Konstruktor je definován jako exkluzivní metoda použitá pro strukturu nebo třídu v programovacích jazycích, které pomáhají přiřadit počáteční hodnotu položce stejného typu. Tento termín se stane užitečným vždy, když budeme mít stejný název třídy, která se používá, nebo poskytneme hodnoty členům objektu, které mohou zůstat uživatelem definované nebo výchozí. Konstruktor vypadá jako příklad strategie; kontrastuje však s technikou v tom, že nemá jednoznačný návratový druh, není ověřitelná, získaná a má z velké části různé standardy pro modifikátory stupně. Konstruktéři mají pravidelně stejné jméno jako prohlásená třída. Mají důležitost podávat jednotlivcům informace o otázce a sestavovat invariant třídy, pokud je invariant neplatný, padají naplocho. Vhodně složený konstruktér ponechá následný protest v právním stavu. Trvalé položky musí být ve stavu konstruktoru. Konstruktor může být oznámen s využitím kteréhokoli z modifikátorů. Ať už je to jakkoli, kompilátor dodává výchozí, pokud se nedostane k modifikátoru, který není ve třídě charakterizován. Při šanci, že konstruktor bude oznámen jako soukromý, nemůže být třída vyrobena nebo určena, a proto nemůže být instancována.Část hlavních použití tohoto zahrnuje; Logika včetně operací, které by měly být provedeny při konkrétní příležitosti v aplikaci - například otevření databázového přidružení, nemělo by být složeno v konstruktoru. Stejně tak při použití odvozených konstruktorů třídy by konstruktor nadřazené třídy měl předat správné parametry.


Co je Destructor?

Destruktor je definován jako exkluzivní metoda používaná ke zničení programu, který běží nepřetržitě. Některé z primárních kroků zahrnutých v této akci zahrnují proces obnovy haldy, prostor přidělený během životnosti objektu, uzavření souboru a úpravy připojení databáze spolu s uvolněním zdrojů sítě. Může se to stát, když je jeho životnost vázána na určitý rozsah, a provedení opustí stupeň, když je nainstalováno v jiné otázce, jejíž životnost se uzavře, nebo když byla postupně distribuována a výslovně vybita. Jeho zásadním důvodem pro existenci je osvobození aktiv, například přiřazení paměti, otevřených dokumentů nebo příloh, databázových asociací, zámků aktiv atd., Které byly získány touto otázkou uprostřed její životnosti, a také odhlášení od různých látek, které mohou vést odkazy na to. Destruktory se nazývají výslovně v C ++. V každém případě v C # a Java tomu tak není, protože o určení a příchodu paměti rozdělené na položky se skutečně postaral pracovník města. Zatímco destruktory v C # a Java jsou nedeterministické, C # destruktory jsou zajištěny, aby je zavolaly the.NET runtime. V každém případě musí být finalizátoři Java výslovně svoláni, protože jejich vyvolávání není zajištěno. Část hlavních činností prováděných tímto zahrnuje; Automatické vyvolávání a žádné jasné volání z klientského kódu, přetížení nebo dědictví není dovoleno, dostat se k modifikátorům nebo parametrům, které nebudou určeny, požadavek na volání destruktoru v dané třídě je od nejvíce odvozených k nejmenším odvozeným.


Klíčové rozdíly

  1. Konstruktor je definován jako exkluzivní metoda použitá pro strukturu nebo třídu v programovacích jazycích, které pomáhají přiřadit počáteční hodnotu položce stejného typu. Na flipside je destruktor definován jako exkluzivní metoda použitá pro zničení programu, který běží nepřetržitě.
  2. Konstruktor je jedinečná kapacita, která se při vyvolání otázky třídy vyvolává. Na druhou stranu destruktor je mimořádná pozice, která se přirozeně nazývá, když je třídní otázka vymazána nebo opustí rozsah.
  3. Primárním úkolem konstruktoru je přidělení paměti přidané položce. Na druhé straně se primární úlohou destruktoru stává dokončení paměti přiřazené k objektu.
  4. Konstruktor má schopnosti přijímat různé argumenty přidané mimo strukturu, na druhou stranu destruktor tyto argumenty nepřijímá.
  5. Konstruktor je volán automaticky, kdykoli vytvoříme nový objekt. Naopak, destruktor se nazývá automaticky, kdykoli dojde k nadšení bloku nebo k ukončení programu.
  6. Konstruktory vždy existují v po sobě jdoucích objednávkách, a proto dostávají stejné jméno. Na druhou stranu destruktory se vždy nazývají v obráceném pořadí, a proto získávají opačná jména.

radit, podat zprávu ADVIE (analýza, šíření, vizualizace, vhled a émantické vylepšení) je program výzkumu a vývoje v portfoliu Minitertva vnitřní bez...

Hlavním rozdílem mezi černým rybízem a Cai je to, že Černý rybíz je druh rotliny a Cai je obec ve Francii v Bouche-du-Rhône. Černý rybíz Černý ryb&#...

Články Z Portálu