Erinevus konstruktori ja hävitaja vahel

Peamine erinevus - konstruktor vs. Hävitaja
 

Enamik programmeerimiskeeli toetab objektorienteeritud programmeerimist (OOP). Objekte kasutava tarkvara või programmi modelleerimiseks aitab see paradigma. OOP parandab tootlikkust ja hooldatavust. OOP-is peetakse kõike objektiks. Objektid luuakse või visualiseeritakse klasside abil. Ehitaja ja hävitaja on objektorienteeritud programmeerimises tavalised mõisted. See artikkel räägib konstruktori ja hävitaja erinevusest. Konstruktor ja destruktor on klassis eriliikmete funktsioonid. Ehitajal ja hävitajal on klassiga sama nimi, kuid hävitajal on tilde (~) märk. võtme erinevus see on ehitaja ja hävitaja vahel konstruktorit kasutatakse objektile mälu eraldamiseks, hävitajat kasutatakse objekti mälu eraldamiseks.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on konstruktor?
3. Mis on hävitaja
4. Ehitaja ja hävitaja sarnasused
5. Kõrvuti võrdlus - konstruktor vs hävitaja tabelina
6. Kokkuvõte

Mis on konstruktor?

Ehitaja on klassi eriliikme funktsioon mälu eraldamiseks objektile. Seda saab kasutada andmeliikmete väärtuste pakkumiseks. Objekti loomisel kutsutakse konstruktorit. Sellel on sama nimi kui klassi nimega. Ehitaja ei tagasta mingit väärtust. Seetõttu ei sisalda see tagastamise tüüpi. Ehitaja võib aktsepteerida ka parameetreid. Parameetritega konstruktorit tuntakse parameetrilise konstruktorina.

Konstruktori näide on järgmine.

avaliku klassi ristkülik

int pikkus, laius;

avalik ristkülik (int p, int q)

pikkus = p;

laius = q;

public int calcArea ()

tagasitulek (pikkus * laius);

Ülaltoodud kooditüki järgi on konstruktoril sama nimi kui klassi nimega. Ristkülik konstruktor aktsepteerib kahte parameetrit. Nad on p ja q. Pikkusele omistatakse täisarv v. Täisarv q omistatakse laiusele. CalcualteArea piirkonnas arvutatakse ristküliku pindala leidmiseks pikkuse ja laiuse korrutamine. Põhiprogrammis saab programmeerija luua ristküliku tüüpi objekti ja edastada argumendid. nt. Ristkülik rect1 = uus ristkülik (2,3). Seejärel kutsutakse parametriseeritud konstruktor ja omistatakse väärtused pikkusele ja laiusele.

Joonis 01: konstruktor ja hävitaja

Kui leidub konstruktor, millel puuduvad parameetrid, siis nimetatakse seda vaikekonstruktoriks. Kui programmeerija ei määratle konstruktorit, kutsutakse vaikimisi konstruktor. Kui on klass õpilaseks ja kui programmeerija loob objekti tüüpi Student, kutsutakse vaikimisi konstruktor. nt. Õpilane s1 = uus õpilane (); Klassis võib olla mitu konstruktsiooni, millel on erinevad parameetrid ja erinevad andmetüübid. Vastavat konstruktorit saab vastavalt nimetada. Seetõttu võivad konstruktorid olla üle koormatud.

Mis on hävitaja?

Hävitaja on klassis eriliikmete funktsioon. Seda kasutatakse mälu eraldamiseks konstruktori loodud objekti jaoks. Objekti hävitamisel võetakse kasutusele hävitaja. See viib läbi puhastussalvestuse, mida enam ei vajata. Nagu konstruktoril, on hävitajal sama nimi kui klassil. See sisaldab ka sümbolit tilde (~).

Hävitaja ei tagasta väärtust. Erinevalt konstruktorist ei aktsepteeri hävitaja ühtegi parameetrit. Niisiis, hävitaja ei toeta ülekoormamist. Hävitaja kuulutamist peetakse heaks programmeerimistavaks, kuna see vabastab mäluruumi ja seda ruumi saab kasutada mõne muu objekti salvestamiseks. Hävitaja süntaks sarnaneb ~ className () -ga. nt. ~ Ristkülik () ; Klassis võib olla ainult üks hävitaja.

Millised on konstruktori ja hävitaja sarnasused?

  • Objektidega on seotud nii konstruktor kui ka hävitaja.
  • Nii ehitaja kui ka hävitaja ei anna mingit väärtust tagasi.
  • Nii konstruktorit kui ka hävitajat kutsutakse automaatselt.

Mis vahe on konstruktoril ja hävitajal??

Konstruktor vs hävitaja

Ehitaja on klassi eriliige, mida kasutatakse objektile mälu eraldamiseks. Hävitaja on klassi eriliige, mida kasutatakse objekti mälu määramiseks.
 Kutsu meetod
Objekti loomisel kutsutakse konstruktorit. Hävitaja kutsutakse, kui objekt hävitatakse või kustutatakse.
Kasutamine
Objektide jaoks mälu eraldamiseks kasutatakse konstruktorit. Objektide mälu määramiseks kasutatakse hävitajat.
 Parameetrid
Ehitaja aktsepteerib parameetreid. Hävitaja ei aktsepteeri parameetreid.
Konstruktorite ja hävitajate arv
Konstruktoreid võib olla mitu, erineva arvu parameetrite ja erinevat tüüpi parameetritega. Klassis võib olla üks hävitaja.
Täitmise kiirus
Ehitajal on sama nimi kui klassi nimega. Hävitajal on sama nimi kui klassinimel koos sümboliga tilde (~).
Ülekoormamine
Ehitaja võib olla üle koormatud. Hävitajat ei saa üle koormata.

Kokkuvõte - Konstruktor vs. Hävitaja

OOP on tarkvara arendamisel tavaline paradigma. See võib keerukat projekti lihtsustada. OOP-is kasutatakse konstruktorit ja hävitajat. Ehitajal ja hävitajal on klassiga sama nimi, kuid hävitajal on ~ märk. Erinevus konstruktori ja hävitaja vahel on see, et konstruktorit kasutatakse objektile mälu eraldamiseks ja hävitajat kasutatakse objekti mälu eraldamiseks..

Laadige alla faili Constructor vs Destructor PDF

Selle artikli PDF-versiooni saate alla laadida ja seda võrguühenduseta otstarbel kasutada tsitaatide märkuse kohaselt. Laadige PDF-fail alla siit: Erinevus konstruktori ja hävitaja vahel

Viide:

1.tutorialspoint.com. „Java objekt ja klassid”. Mõte, Saadaval siin