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 sú vytvárané alebo vytvárané pomocou tried. Konštruktor a ničiteľ sú bežné pojmy v objektovo orientovanom programovaní. Tento článok popisuje rozdiel 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 vlnovky (~). kľúčový rozdiel medzi konštruktorom a deštruktorom je to konštruktor sa používa na pridelenie pamäte k objektu, zatiaľ čo deštruktor sa používa na pridelenú pamäť objektu.
1. Prehľad a kľúčový rozdiel
2. Čo je to konštruktor
3. Čo je ničiteľ
4. Podobnosti medzi konštruktorom a ničiteľom
5. Porovnanie vedľa seba - Konštruktor verzus Destruktor v tabuľkovej forme
6. Zhrnutie
Konštruktor je špeciálna členská funkcia v triede na priradenie pamäte k objektu. Môže sa použiť na poskytnutie hodnôt pre členov údajov. Konštruktor sa vyvolá pri vytvorení objektu. Má rovnaký názov ako názov triedy. Konštruktor nevracia žiadnu hodnotu. Preto neobsahuje návratový typ. Konštruktor môže tiež akceptovať parametre. Konštruktor s parametrami je známy ako parametrizovaný konštruktor.
Príklad konštruktora je nasledujúci.
verejný trieda Obdĺžnik
int dĺžka, šírka;
verejný obdĺžnik (int p, int q)
length = p;
width = q;
public int calculationArea ()
návrat (dĺžka * šírka);
Podľa vyššie uvedeného kódu má konštruktor rovnaké meno ako názov triedy. Konštruktor Rectangle akceptuje dva parametre. Sú to p a q. Celá hodnota p je priradená dĺžke. Celá hodnota q je priradená šírke. V CalcualteArea sa vynásobí dĺžka a šírka, aby sa zistila plocha obdĺžnika. V hlavnom programe môže programátor vytvoriť objekt typu Obdĺžnik a odovzdať argumenty. napr. Obdĺžnik obdĺžnik1 = nový obdĺžnik (2,3). Potom sa zavolá parametrizovaný konštruktor a priradí hodnoty dĺžke a šírke.
Obrázok 01: Konštruktor a ničiteľ
Ak existuje konštruktor bez akýchkoľvek parametrov, nazýva sa predvolený konštruktor. Ak programátor nedefinuje konštruktora, vyvolá 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. Vhodný konštruktor môže byť nazvaný zodpovedajúcim spôsobom. Preto môžu byť stavitelia preťažení.
Deštruktor je špeciálna funkcia člena v triede. Používa sa na delokovanie pamäte pre objekt vytvorený konštruktorom. Deštruktor sa vyvolá, keď je objekt zničený. Vykonáva úložisko na čistenie, ktoré už nie je potrebné. Rovnako ako konštruktor, deštruktor má rovnaké meno ako trieda. Obsahuje tiež symbol vlnovky (~).
Ničiteľ nevracia žiadnu hodnotu. Na rozdiel od konštruktora deštruktor neakceptuje žiadne parametre. Ničiteľ preto nepodporuje preťaženie. Deklarovanie deštruktora sa považuje za dobrý programovací postup, pretože uvoľňuje pamäťový priestor a tento priestor sa môže použiť na ukladanie niektorých ďalších objektov. Syntax deštruktora je podobná ~ className () . napr. ~ Obdĺžnik () ; V triede môže byť iba jeden deštruktor.
Konštruktor verzus Destructor | |
Konštruktor je špeciálny člen v triede, ktorý sa používa na priradenie pamäte k objektu. | Deštruktor je špeciálny člen triedy, ktorý sa používa na pridelenie pamäte objektu. |
Spôsob vyvolania | |
Pri vytvorení objektu sa vyvolá konštruktor. | Deštruktor sa volá, keď je objekt zničený alebo odstránený. |
používanie | |
Konštruktor sa používa na pridelenie pamäte pre objekty. | Deštruktor sa používa na pridelenie pamäte pre objekty. |
parametre | |
Konštruktor akceptuje parametre. | Deštruktor neakceptuje parametre. |
Počet konštruktorov a ničiteľov | |
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ť vykonávania | |
Konštruktor má rovnaké meno ako názov triedy. | Deštruktor má rovnaké meno ako názov triedy so symbolom vlnovky (~). |
preťaženie | |
Konštruktor môže byť preťažený. | Ničiteľ nemôže byť preťažený. |
OOP je bežná paradigma vo vývoji softvéru. Môže to zjednodušiť zložitý projekt. Konštruktor a deštruktor sa používajú v OOP. 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 k objektu, zatiaľ čo deštruktor sa používa na pridelenú pamäť objektu..
Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ju na účely offline podľa citácie. Stiahnite si PDF verziu tu: Rozdiel medzi Constructor a Destructor
1.tutorialspoint.com. „Objekt a triedy Java.“ Bod, K dispozícii tu