Skirtumas tarp konstruktoriaus ir naikintuvo

Klasė yra pati objektinio programavimo (OOP) esmė. Tai tarsi objektų kūrimo planas, kuriame pateikiamos pradinės narių kintamųjų ir narių funkcijų vertės. Tai yra pagrindinė OOP sudedamoji dalis, apibrėžianti būsimo objekto pobūdį. Svarbiausia klasėje yra tai, kad ji apibrėžia naują duomenų tipą, o kai jis apibrėžtas, jis gali būti naudojamas kuriant tokio tipo objektus. Taigi pakaktų pasakyti, kad klasė yra objekto šablonas, o objektas iš tikrųjų yra klasės egzempliorius. Jis naudojamas kuriant ir valdant naujus objektus bei palaikant paveldėjimą, kuris yra viena iš pagrindinių į objektą orientuotų programavimo kalbų, tokių kaip „Java“, sąvokų. Trumpai tariant, klasė organizuoja informaciją apie duomenų tipą taip, kad elementai būtų pakartotinai naudojami darant kelis to tipo duomenų egzempliorius. Klasėje apibrėžti duomenys arba kintamieji vadinami egzempliorių kintamaisiais.



Kas yra konstruktorius?

Konstruktorius yra speciali klasės nario funkcija, kuri yra iškviečiama kuriant objekto egzempliorių. Kartais gali būti sunku inicijuoti visus klasės kintamuosius kiekvieną kartą, kai kuriamas egzempliorius. Kadangi inicializavimo reikalavimas yra įprastas programuojant į objektą, tai leidžia objektams inicializuoti automatiškai, kai jie yra sukurti. Šis automatinio inicializavimo procesas atliekamas naudojant konstruktorių. Priežastis, kodėl ji vadinama specialia, yra ta, kad egzemplioriaus metodas paprastai turi tą patį pavadinimą kaip ir klasė. Tai inicializuoja objektą iškart po sukūrimo ir gali būti naudojamas nustatyti objekto narių vertes. Konstruktorius sintaksiniu požiūriu yra panašus į metodą, taikant objektinį programavimą, o metodas yra procedūra, susieta su klase ir įtraukta į bet kurį tos klasės objektą. Trumpai tariant, konstruktorius vadinamas kiekvieną kartą, kai kuriamas klasės objektas. Svarbiausia konstruktoriuose yra tai, kad jie neturi grąžinimo tipo, net nėra tušti.



Kas yra naikintuvas?

Destruktorius yra visiškai kitokia sąvoka; tai yra specialus metodas, kuris vadinamas, kai klasės egzempliorius ištrinamas iš atminties. Destruktorius iškviečiamas automatiškai, kai daiktas nebereikalingas, netrukus išnyks arba bus aiškiai paleistas. Pagrindinis destruktoriaus tikslas yra atsikratyti išteklių, kuriuos objektas naudojo per jo gyvavimo ciklą. Tai suteikia objektui paskutinį šansą atlaisvinti visą paskirtą atmintį, kad kaupe būtų pakankamai vietos naujiems objektams laikyti, kad būtų galima efektyviai vykdyti programas. Destruktoriai dažnai naudojami kartu su konstruktoriais, išskyrus tuos, kurie naudojami objektams, kurie buvo sukurti naudojant konstruktorius, sunaikinti. Idėja yra inicializuoti objektus, kai jie bus ištrinti, kad būtų atlaisvinta atmintis naujiems objektams. Kaip ir konstruktoriai, destruktoriai klasės apibrėžime apibrėžiami kaip paprogramės ir jie turi tą patį pavadinimą, kaip ir klasės pavadinimas, išskyrus tai, kad destruktorius pridedamas prieš~(tildės) operatorius. Destruktoriai yra aiškiai vadinami C ++, tačiau Java nėra destruktorių.

Skirtumas tarp konstruktoriaus ir destruktoriaus

Konstruktoriaus ir naikintuvo paskirtis

Konstruktoriai ir destruktoriai yra kiekvienos klasės specialios narių funkcijos, tačiau skirtingos sąvokos. Konstruktorius naudojamas inicializuoti klasės egzempliorių, tai reiškia, kad jis yra iškviečiamas kiekvieną kartą, kai klasė yra eksponuojama, o destruktorius yra priešingas konstruktoriui, kuris vadinamas atvirkštine konstruktorių tvarka.

Atminties paskirstymas

Konstruktorius vadinamas kiekvieną kartą, kai sukuriamas naujas klasės egzempliorius. Iš esmės tai yra klasės nario funkcija, kuri iškart sukūrus inicijuoja objektą ir paskiria jam atmintį. Kita vertus, destruktorius vadinamas tada, kai klasės pavyzdys yra ištrinamas iš atminties, o tai savo ruožtu inicializuoja objektus, sukurtus naudojant konstruktorius, kad atlaisvintų atmintį naujiems objektams.

vardas

Tiek konstruktoriai, tiek destruktoriai yra specialios klasės narių funkcijos, turinčios tą patį pavadinimą kaip ir klasės pavadinimas, išskyrus tai, kad destruktorius priešdėlis yra ~ (tilde) operatorius. Konstruktorius yra ne kas kita, o metodas, kuris neturi grąžinimo tipo, net nėra tuščias, o destruktoriai yra visiškai priešingi konstruktoriams.

Perkrovimas

Po sukūrimo ir pašalinimo tiek konstruktoriai, tiek destruktoriai vadinami automatiškai. Tačiau, skirtingai nei konstruktoriai, destruktorių negalima perkrauti. Perkrovimas yra į objektą orientuota programavimo koncepcija, leidžianti apibrėžti dvi ar daugiau funkcijų tuo pačiu pavadinimu, kad galėtumėte jas iškviesti naudodami skirtingus argumentų sąrašus.

Argumentai

Programuodami objektu, konstruktoriai dažnai priima argumentus, kuriuos naudoja nustatydami būtinus narių kintamuosius, o destruktoriai nepriima jokių argumentų.

Konstruktoriaus ir naikintuvo darbas

Konstruktoriai leidžia objektui inicializuoti dalį jo vertės prieš jį naudojant, o destruktoriai leidžia objektui vykdyti tam tikrą kodo dalį tuo metu, kai jis sunaikinamas.

Konstruktoriaus eilučių naikintojas: palyginimo lentelė

Konstruktoriaus vs. Destruktorius

Tiek konstruktoriai, tiek destruktoriai yra specialios klasės narių funkcijos, turinčios tą patį pavadinimą, kaip ir klasės pavadinimas, išskyrus tai, kad prieš destruktorius yra ~ tildės operatorius. Konstruktorius yra ne kas kita, o metodas, išskyrus tai, kad jis vadinamas sukūrus objekto egzempliorių, o destruktorius yra visiškai priešingas konstruktoriams, kurie yra iškviečiami, kai objekto egzempliorius ištrinamas iš atminties. Destruktorių tikslas yra inicializuoti objektus, kurie buvo sukurti naudojant konstruktorius, kad atlaisvintų atminties vietos naujiems objektams priimti.

Populiarios Temos

Skirtumas tarp daugiabučio namo ir buto

„Condo vs Apartment“ Jei planuojate persikelti į didelę savo šalies miestą, apgyvendinimas būtų akivaizdus rūpestis. Šiais laikais dvi gyvenamosios formos

Skirtumas tarp Helovino ir dvasių

Bet kurioje kultūroje yra tam tikri įvykiai, kuriuos švenčia bendruomenė ir kurie dažniausiai sutelkti į įsitikinimą ar pagrindinę šventę, kuri paprastai vadinama

Skirtumas tarp draudimo agento ir brokerio

Draudimo agentas ir brokeris Draudimo agentai ir brokeriai yra draudimo specialistai, kurie yra tarpininkai tarp draudimo kompanijų ir klientų. Byloje

Kalvarijos koplyčios ir metodistų bažnyčios skirtumas

Kalvarijos koplyčia prieš metodistų bažnyčią Kalvarijos koplyčia yra krikščionių bažnyčių evangelinė bendrija, prasidėjusi Pietų Kalifornijoje. Nors metodistas

Skirtumas tarp „iPhone“ ir „Nokia N97“

„iPhone“ prieš „Nokia N97“ Net meteoriškai išaugus „Apple“ „iPhone“ serijai, „Nokia“ niekada nenukrito nuo radaro. Tiesą sakant, 'Nokia' vis dar išlaiko pagarbą kaip

Skirtumas tarp AICD ir širdies stimuliatoriaus

AICD ir širdies ritmo reguliatorius Padedant medicinos technologijų pažangai, daugelis prietaisų dabar vertinami dėl jų funkcionalumo ir didelės naudos sveikatai. Į