Razlika med konstruktorjem in destruktorjem

Kazalo:

Razlika med konstruktorjem in destruktorjem
Razlika med konstruktorjem in destruktorjem

Video: Razlika med konstruktorjem in destruktorjem

Video: Razlika med konstruktorjem in destruktorjem
Video: Цифровой тестер крутящего момента Imada DI-1M-500 + ударный гайковерт PARKSIDE TECCPO MAKITA 2024, December
Anonim

Ključna razlika – konstruktor proti destruktorju

Večina programskih jezikov podpira objektno usmerjeno programiranje (OOP). To je paradigma, ki pomaga modelirati programsko opremo ali program z uporabo predmetov. OOP izboljša produktivnost in vzdržljivost. V OOP se vse obravnava kot objekt. Objekti so ustvarjeni ali instancirani z uporabo razredov. Konstruktor in destruktor sta pogosta izraza v objektno usmerjenem programiranju. Ta članek obravnava razliko med konstruktorjem in destruktorjem. Konstruktor in destruktor sta posebni funkciji člana v razredu. Konstruktor in destruktor imata isto ime kot razred, destruktor pa ima znak tilda (~). Ključna razlika med konstruktorjem in destruktorjem je v tem, da se konstruktor uporablja za dodelitev pomnilnika objektu, medtem ko se destruktor uporablja za sprostitev pomnilnika objekta.

Kaj je konstruktor?

Konstruktor je posebna funkcija člana v razredu za dodeljevanje pomnilnika objektu. Uporablja se lahko za zagotavljanje vrednosti za podatkovne člane. Ko je objekt ustvarjen, se prikliče konstruktor. Ima isto ime kot ime razreda. Konstruktor ne vrne nobene vrednosti. Zato ne vsebuje povratnega tipa. Konstruktor lahko sprejme tudi parametre. Konstruktor s parametri je znan kot parametriran konstruktor.

Primer konstruktorja je naslednji.

javni razred Pravokotnik{

int dolžina, širina;

javni pravokotnik(int p, int q){

dolžina=p;

širina=q;

}

javno int izračunArea(){

vrnitev (dolžinaširina);

}

}

Glede na zgornji del kode ima konstruktor isto ime kot ime razreda. Konstruktor Rectangle sprejme dva parametra. To sta p in q. Dolžini je pripisana celoštevilska vrednost p. Celo število q je dodeljeno širini. V calcu alteArea je množenje dolžine in širine izračunano za iskanje ploščine pravokotnika. V glavnem programu lahko programer ustvari objekt tipa Rectangle in posreduje argumente. npr. Pravokotnik rect1=nov pravokotnik(2, 3). Nato se pokliče parametrirani konstruktor in dodeli vrednosti dolžini in širini.

Razlika med konstruktorjem in destruktorjem
Razlika med konstruktorjem in destruktorjem

Slika 01: Konstruktor in destruktor

Če obstaja konstruktor brez parametrov, se imenuje privzeti konstruktor. Če programer ne definira konstruktorja, bo priklican privzeti konstruktor. Če obstaja razred kot Student in ko programer ustvari objekt tipa Student, se pokliče privzeti konstruktor. npr. Študent s1=nov študent(); V razredu je lahko več konstruktorjev z različnimi parametri in različnimi tipi podatkov. Ustrezen konstruktor lahko ustrezno pokličemo. Zato so lahko konstruktorji preobremenjeni.

Kaj je Destructor?

Destruktor je posebna funkcija članica v razredu. Uporablja se za sprostitev pomnilnika za objekt, ki ga ustvari konstruktor. Destruktor se prikliče, ko je objekt uničen. Izvaja čistilno shranjevanje, ki ni več potrebno. Tako kot konstruktor ima tudi destruktor isto ime kot razred. Vsebuje tudi simbol tilde (~).

Destruktor ne vrne nobene vrednosti. Za razliko od konstruktorja destruktor ne sprejema nobenih parametrov. Torej destruktor ne podpira preobremenitve. Deklaracija destruktorja velja za dobro programsko prakso, ker sprosti pomnilniški prostor in ta prostor se lahko uporabi za shranjevanje nekaterih drugih objektov. Sintaksa destruktorja je podobna ~className() { }. npr. ~Pravokotnik() {}; V razredu je lahko samo en destruktor.

Kakšne so podobnosti med konstruktorjem in destruktorjem?

  • Konstruktor in destruktor sta povezana z objekti.
  • Konstruktor in destruktor ne vrneta nobene vrednosti.
  • Konstruktor in destruktor se pokličeta samodejno.

Kakšna je razlika med konstruktorjem in destruktorjem?

Konstruktor proti destruktorju

Konstruktor je poseben član v razredu, ki se uporablja za dodeljevanje pomnilnika objektu. Destruktor je poseben član razreda, ki se uporablja za sprostitev pomnilnika objekta.
Metoda priklica
Konstruktor se prikliče, ko je objekt ustvarjen. Destruktor se pokliče, ko je objekt uničen ali izbrisan.
Uporaba
Konstruktor se uporablja za dodeljevanje pomnilnika za objekte. Destruktor se uporablja za sprostitev pomnilnika za objekte.
Parametri
Konstruktor sprejema parametre. Destruktor ne sprejema parametrov.
Število konstruktorjev in destruktorjev
Obstaja lahko več konstruktorjev z različnim številom parametrov in različnimi vrstami parametrov. V razredu je lahko en sam destruktor.
Hitrost izvajanja
Konstruktor ima isto ime kot ime razreda. Destruktor ima isto ime kot ime razreda s simbolom tilde (~).
Preobremenitev
Konstruktor je lahko preobremenjen. Destruktorja ni mogoče preobremeniti.

Povzetek – konstruktor proti destruktorju

OOP je običajna paradigma pri razvoju programske opreme. Lahko poenostavi kompleksen projekt. V OOP se uporabljata konstruktor in destruktor. Konstruktor in destruktor imata isto ime kot razred, destruktor pa ima znak ~. Razlika med konstruktorjem in destruktorjem je v tem, da se konstruktor uporablja za dodelitev pomnilnika objektu, medtem ko se destruktor uporablja za sprostitev pomnilnika objekta.

Prenesite PDF za Constructor vs Destructor

Različico PDF tega članka lahko prenesete in jo uporabite za namene brez povezave v skladu z opombo o citiranju. Prenesite različico PDF tukaj: Razlika med konstruktorjem in destruktorjem

Priporočena: