Kľúčový rozdiel - Constructor vs Destructor
Väčšina programovacích jazykov podporuje objektovo orientované programovanie (OOP). Je to paradigma, ktorá pomáha modelovať softvér alebo program pomocou objektov. OOP zvyšuje produktivitu a udržiavateľnosť. V OOP sa všetko považuje za objekt. Objekty sa vytvárajú alebo vytvárajú inštancie pomocou tried. Constructor a Destructor sú bežné pojmy v objektovo orientovanom programovaní. Tento článok pojednáva o rozdieloch medzi konštruktorom a deštruktorom. Konštruktor a deštruktor sú špeciálne členské funkcie v triede. Konštruktor a deštruktor majú rovnaký názov ako trieda, ale deštruktor má znak tilda (~). Kľúčový rozdiel medzi konštruktorom a deštruktorom je v tom, že konštruktor sa používa na pridelenie pamäte objektu, zatiaľ čo deštruktor sa používa na pridelenie pamäte objektu.
OBSAH
1. Prehľad a kľúčový rozdiel
2. Čo je to konštruktor
3. Čo je to deštruktor
4. Podobnosti medzi konštruktérom a deštruktorom
5. Porovnanie vedľa seba - konštruktér vs deštruktor v tabuľkovej forme
6. Zhrnutie
Čo je to konštruktér?
Konštruktor je špeciálna členská funkcia v triede na pridelenie pamäte objektu. Môže sa použiť na poskytnutie hodnôt pre dátové členy. Pri vytváraní objektu sa vyvolá konštruktor. Má rovnaký názov ako názov triedy. Konštruktor nevráti žiadnu hodnotu. Preto neobsahuje návratový typ. Konštruktér môže akceptovať aj parametre. Konštruktor s parametrami je známy ako parametrizovaný konštruktor.
Príklad konštruktora je nasledovný.
verejná trieda Obdĺžnik {
int dĺžka, šírka;
verejný obdĺžnik (int p, int q) {
dĺžka = p;
šírka = q;
}
public int CalcArea () {
návrat (dĺžka * šírka);
}
}
Podľa vyššie uvedeného kódu má konštruktor rovnaký názov ako názov triedy. Konštruktor Obdĺžnik akceptuje dva parametre. Sú to p a q. Celočíselnej hodnote p je priradená dĺžka. Celočíselnej hodnote q je priradená šírka. V oblasti calcualteArea sa počíta násobenie dĺžky a šírky, aby sa zistila plocha obdĺžnika. V hlavnom programe môže programátor vytvoriť objekt typu Obdĺžnik a odovzdať argumenty. napr. Obdĺžnik rect1 = nový Obdĺžnik (2,3). Potom sa zavolá parametrizovaný konštruktor a priradí hodnoty dĺžke a šírke.
Obrázok 01: Konštruktor a zničovač
Ak existuje konštruktor bez akýchkoľvek parametrov, nazýva sa predvolený konštruktor. Ak programátor nedefinuje konštruktor, použije sa predvolený konštruktor. Ak existuje trieda ako Študent a keď programátor vytvorí objekt typu Študent, zavolá sa predvolený konštruktor. napr. Študent s1 = nový Študent (); V triede môže byť viac konštruktorov s rôznymi parametrami a rôznymi dátovými typmi. Podľa toho sa dá nazvať vhodný konštruktor. Preto môžu byť konštruktéri preťažení.
Čo je to destruktor?
Deštruktor je špeciálna členská funkcia v triede. Používa sa na delokáciu pamäte pre objekt vytvorený konštruktorom. Deštruktor sa vyvolá, keď je objekt zničený. Vykonáva úložisko vyčistenia, ktoré už nie je potrebné. Rovnako ako konštruktor, aj destruktor má rovnaký názov ako trieda. Obsahuje tiež symbol vlnovky (~).
Deštruktor nevráti žiadnu hodnotu. Na rozdiel od konštruktora destruktor neprijíma žiadne parametre. Destruktor teda nepodporuje preťaženie. Deklarovanie deštruktora sa považuje za dobrý programovací postup, pretože uvoľňuje pamäťový priestor a tento priestor je možné využiť na ukladanie niektorých ďalších objektov. Syntax deštruktora je podobná ako ~ className () {}. napr. ~ Obdĺžnik () {}; V triede môže byť iba jeden deštruktor.
Aké sú podobnosti medzi Constructorom a Destructorom?
- Konštruktor aj deštruktor sú spojené s objektmi.
- Konštruktor aj deštruktor nevracajú žiadnu hodnotu.
- Konštruktor aj deštruktor sa volajú automaticky.
Aký je rozdiel medzi Constructor a Destructor?
Rozdielny článok v strede pred tabuľkou
Konštruktér vs Destruktor |
|
Konštruktor je špeciálny člen v triede, ktorý sa používa na pridelenie pamäte objektu. | Deštruktor je špeciálny člen triedy, ktorý sa používa na uvoľnenie pamäte objektu. |
Spôsob vyvolania | |
Pri vytváraní objektu sa vyvolá konštruktor. | Destruktor sa volá, keď je objekt zničený alebo vymazaný. |
Využitie | |
Na pridelenie pamäte pre objekty sa používa konštruktor. | Na uvoľnenie pamäte pre objekty sa používa deštruktor. |
Parametre | |
Konštruktor akceptuje parametre. | Deštruktor neprijíma parametre. |
Počet konštruktérov a deštruktorov | |
Môže existovať viac konštruktorov s rôznym počtom parametrov a rôznymi typmi parametrov. | V triede môže byť jeden deštruktor. |
Rýchlosť vykonania | |
Konštruktor má rovnaký názov ako názov triedy. | Destruktor má rovnaký názov ako názov triedy so symbolom vlnovky (~). |
Preťaženie | |
Konštruktor môže byť preťažený. | Destruktor nemôže byť preťažený. |
Zhrnutie - Constructor vs Destructor
OOP je bežnou paradigmou vo vývoji softvéru. Môže to zjednodušiť zložitý projekt. V OOP sa používa konštruktor a deštruktor. Konštruktor a deštruktor majú rovnaký názov ako trieda, ale deštruktor má znak ~. Rozdiel medzi konštruktorom a deštruktorom je v tom, že konštruktor sa používa na pridelenie pamäte objektu, zatiaľ čo deštruktor sa používa na pridelenie pamäte objektu.
Stiahnite si PDF súborov Constructor vs Destructor
Môžete si stiahnuť PDF verziu tohto článku a použiť ju na offline účely podľa citačnej poznámky. Stiahnite si verziu PDF tu: Rozdiel medzi programom Constructor a Destructor