Skirtumas tarp konstruktoriaus ir naikintojo

Pagrindinis skirtumas - konstruktorius prieš Naikintojas
 

Dauguma programavimo kalbų palaiko objektyvų programavimą (OOP). Tai yra paradigma, padedanti modeliuoti programinę įrangą ar programą naudojant objektus. OOP pagerina produktyvumą ir priežiūrą. OOP viskas laikoma objektu. Objektai yra kuriami arba realizuojami naudojant klases. Konstruktorius ir naikintojas yra įprasti į objektą orientuoto programavimo terminai. Šiame straipsnyje aptariamas skirtumas tarp konstruktoriaus ir griovėjo. Konstruktorius ir naikintojas yra speciali nario funkcija klasėje. Konstruktorius ir naikintojas turi tą patį pavadinimą kaip ir klasė, tačiau naikintojas turi tildės (~) ženklą. pagrindinis skirtumas tarp konstruktoriaus ir destruktoriaus yra tai konstruktorius yra naudojamas atminties paskirstymui objektui, o sunaikintojas naudojamas objekto atminčiai paskirstyti.

TURINYS

1. Apžvalga ir svarbiausias skirtumas
2. Kas yra konstruktorius
3. Kas yra naikintojas
4. Konstruktoriaus ir naikintojo panašumai
5. Šalutinis palyginimas - „Constructor vs Destructor“ lentelės pavidalu
6. Santrauka

Kas yra konstruktorius?

Konstruktorius yra speciali nario funkcija klasėje, skirta objekto atminčiai paskirstyti. Jis gali būti naudojamas duomenų narių vertėms pateikti. Sukūrus objektą, iškviečiamas konstruktorius. Jis turi tą patį pavadinimą kaip klasės pavadinimas. Konstruktorius negrąžina jokios vertės. Todėl jame nėra grąžinimo tipo. Konstruktorius taip pat gali priimti parametrus. Konstruktorius su parametrais yra žinomas kaip parametrizuotas konstruktorius.

Konstruktoriaus pavyzdys yra toks.

viešosios klasės stačiakampis

int ilgis, plotis;

viešas stačiakampis (int p, int q)

ilgis = p;

plotis = q;

public int calcArea ()

grįžimas (ilgis * plotis);

Pagal aukščiau pateiktą kodą konstruktorius turi tą patį pavadinimą kaip ir klasės pavadinimas. Stačiakampis konstruktorius priima du parametrus. Jie yra p ir q. Sveikasis skaičius p priskiriamas ilgiui. Sveikasis skaičius q priskiriamas pločiui. „CalcualteArea“ srityje apskaičiuojamas ilgio ir pločio koeficientas, norint rasti stačiakampio plotą. Pagrindinėje programoje programuotojas gali sukurti Rectangle tipo objektą ir perduoti argumentus. pvz. Stačiakampis rect1 = naujas stačiakampis (2,3). Tada iškviečiamas parametrizuotas konstruktorius ir priskiriamos reikšmės ilgiui ir pločiui.

01 pav. Konstruktorius ir naikintojas

Kai yra konstruktorius be jokių parametrų, jis vadinamas numatytuoju konstruktoriumi. Jei programuotojas neapibrėžia konstruktoriaus, bus įjungtas numatytasis konstruktorius. Jei yra klasė kaip mokinys ir kai programuotojas sukuria studento tipo objektą, iškviečiamas numatytasis konstruktorius. pvz. Studentas s1 = naujas studentas (); Klasėje gali būti keli konstruktoriai, turintys skirtingus parametrus ir skirtingus duomenų tipus. Atitinkamai gali būti vadinamas tinkamas konstruktorius. Todėl konstruktoriai gali būti perkrauti.

Kas yra naikintojas?

Naikintojas yra ypatinga nario funkcija klasėje. Jis naudojamas atjungti atmintį objektui, kurį sukūrė konstruktorius. Naikintojui iškviečiamas objektas, kai jis sunaikinamas. Jis vykdo valymo saugyklą, kurios nebereikia. Kaip ir konstruktorius, naikintojas turi tą patį pavadinimą kaip ir klasė. Jame taip pat yra tilde (~) simbolis.

Naikintojas negrąžina jokios vertės. Skirtingai nuo konstruktoriaus, griovėjas nepriima jokių parametrų. Taigi destruktorius nepalaiko perkrovos. Destruktoriaus paskelbimas laikomas gera programavimo praktika, nes jis atlaisvina atminties vietą ir tą vietą galima panaudoti kai kuriems kitiems objektams laikyti. Dstruktoriaus sintaksė yra panaši į ~ className () . pvz. ~ Stačiakampis () ; Klasėje gali būti tik vienas griovėjas.

Kokie yra konstruktoriaus ir naikintojo panašumai?

  • Tiek konstruktorius, tiek griovėjas yra susieti su objektais.
  • Tiek konstruktorius, tiek griovėjas negrąžina jokios vertės.
  • Tiek konstruktorius, tiek griovėjas vadinami automatiškai.

Kuo skiriasi konstruktorius ir griovėjas??

Konstruktorius prieš naikintoją

Konstruktorius yra specialus klasės narys, naudojamas objekto atminčiai paskirstyti. Naikintojas yra specialus klasės narys, kuris naudojamas objekto atminčiai nustatyti.
 Pakvietimo būdas
Sukūrus objektą, iškviečiamas konstruktorius. Naikintojas iškviečiamas, kai objektas sunaikinamas arba ištrinamas.
Naudojimas
Objektų atminčiai paskirstyti naudojamas konstruktorius. Naikintojas naudojamas objektų atminčiai paskirstyti.
 Parametrai
Konstruktorius priima parametrus. Naikintojas nepriima parametrų.
Konstruktorių ir naikintojų skaičius
Gali būti keli konstruktoriai, turintys skirtingą parametrų skaičių ir skirtingų tipų parametrus. Klasėje gali būti vienas naikintojas.
Vykdymo greitis
Konstruktorius turi tą patį pavadinimą kaip ir klasės pavadinimas. Naikintojas turi tą patį pavadinimą kaip ir klasės pavadinimas su simboliu tilde (~).
Perkrovos
Konstruktorius gali būti perkrautas. Naikintojas negali būti perkrautas.

Santrauka - Konstruktorius prieš Naikintojas

OOP yra įprasta programinės įrangos kūrimo paradigma. Tai gali supaprastinti sudėtingą projektą. OOP naudojami konstruktoriai ir destruktoriai. Konstruktorius ir naikintojas turi tą patį pavadinimą kaip ir klasė, tačiau naikintojas turi ~ ženklą. Skirtumas tarp konstruktoriaus ir destruktoriaus yra tas, kad konstruktorius yra naudojamas objekto atminčiai paskirstyti, o destruktorius yra naudojamas objekto atminties paskirstymui..

Atsisiųskite „Constructor vs Destructor“ PDF rinkmeną

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia: Skirtumas tarp konstruktoriaus ir naikintojo

Nuoroda:

1.tutorialspoint.com. „Java objektas ir klasės“. Esmė, Galima rasti čia