Introducere în constructor și distrugător

Constructor și distrugător. Constructorul este o funcție specială care are același nume cu cel al clasei în care a fost definit. Se numește automat de fiecare dată când este creată o nouă instanță. Este considerată un tip special de funcții, deoarece nu este necesar să fie numit explicit folosind obiectul. Distrugătorul poate fi definit ca un fel special de metodă care poate fi revocat la ștergerea instanței. Scopul Distrugătorului este de a elibera memoria pe care o leagă în timp ce a fost creată instanța. Conceptul de distrugător este preocupat de gestionarea memoriei, astfel încât resursele să poată fi utilizate eficient. În limbi precum C ++, există conceptul de Destructor și ar putea fi invocat automat după ce instanța a fost ștersă, în timp ce într-un limbaj ca Java, conceptul de Destructor nu există. Acesta permite programului să fie scris într-o manieră bună, astfel încât să poată fi compilat corect și să poată fi ușor în ceea ce privește consumul de memorie.

Comparație dintre cap și cap între constructor și distrugător

Mai jos sunt cele mai bune 4 comparații între constructor și distrugător

Diferențele cheie între constructor și distrugător

Există mai multe diferențe între constructori și distrugători. Mai jos sunt câteva dintre diferențele comune și importante.

  • Constructorul este invocat atunci când este creată o instanță a clasei respective. Nu este necesar să fie apelat explicit. În cazul distrugătorului, acesta invocă când se șterge instanța oricărei clase. Este, de asemenea, ceva care intră în rol automat imediat după ștergerea obiectului.
  • Constructorul conduce să ocupe memoria sistemului, localizându-le la resurse și este exact opusul în cazul distrugătorului. În distrugător, memoria care a fost alocată resurselor este eliberată, astfel încât să poată fi utilizată de o altă resursă.
  • Pentru a declara constructorul, nu este nevoie de un caracter special. Se poate crea doar o metodă al cărei nume este similar cu cel al clasei. În cazul distrugătorului, semnul tilde trebuie utilizat pentru a introduce distrugătorul în program.
  • Constructorul poate fi utilizat în limbajul de programare la nivel înalt și mediu. Deși în cazul distrugătorului, acesta nu poate fi folosit în limbajul la nivel înalt. C ++ este capabil să folosească distrugătorul, dar același lucru nu este disponibil în Java. Se datorează faptului că limbajul de programare la nivel înalt a avut propriul său mecanism de gestionare a memoriei.
  • Constructorul poate fi găsit folosit foarte des în program. Este foarte simplu de utilizat și reduce complexitatea programului. Pe de altă parte, distrugătorul este de preferat să fie utilizat atunci când este nevoie de reducerea consumului de memorie din resursele programului.

Comparație Față în Cap între Constructor și Distrugător

Constructordistrugător
Invocat în timpul creării instanței
Atunci când este creată instanța sau obiectul oricărei clase, conduce la apelarea automată a constructorului, care va face ca toate instrucțiunile sub metoda constructorului să fie executate.
Invocat în timp ce ștergerea instanței
Când instanța sau obiectul este șters, distrugătorul invocat automat și ulterior, instrucțiunile clasei distrugătoare sunt executate secvențial.
Ocupă memoria
În timp ce clasa este invocată, alocă memorie tuturor resurselor pe care le va utiliza în continuare. Aceasta duce la consumarea memoriei sistemului pentru a stoca datele în mod permanent sau temporar.
Eliberează memoria
În timp ce distrugătorul este invocat, eliberă toate amintirile că resursele au fost ocupate. Memoria eliberată poate fi localizată suplimentar la alte resurse care sunt utilizate în program.
Suportat în limbi de nivel mediu și înalt
Constructorul este apelat automat de fiecare dată când a fost creată o instanță a clasei respective și această caracteristică este acceptată de ambele tipuri de limbaje: limbaje de programare de nivel mediu și înalt.
Suport numai în limbaj de nivel mediu
Caracteristicile distrugătorului sunt acceptate doar într-un limbaj de nivel mediu precum C ++. Când vine vorba de un limbaj la nivel înalt, cum ar fi Java, nu permite funcții ca acesta, deoarece are propriul mod de a gestiona memoria.
Nu este necesar un caracter special în timpul declarației
Pentru a declara constructorul, trebuie doar să scrieți numele metodei care trebuie să fie același cu cel al clasei. Nu trebuie să existe un caracter special pentru a declara un constructor.
Tilde este utilizat în timpul unei declarații
Pentru a declara distrugătorul, va fi necesară utilizarea unei plăci. Numele constructorului trebuie să fie urmat de semnul tilde și trebuie să se încheie cu mici paranteze așa cum se întâmplă în fiecare funcție.

Concluzie

  • Constructorul nu este altceva, ci doar metoda care are același nume cu cel al clasei. Nu este nevoie de timp pentru a fi invocat după crearea instanțelor. Obiectul poate fi creat în acest caz folosind aceeași sintaxă ca și pentru a crea un obiect din orice clasă. Până la momentul în care obiectul este creat, ocupă spațiul din memorie și aduce în execuție instrucțiunea constructorului.
  • Distrugătorul este ceva exact opus celui al constructorului. Este invocat imediat după ștergerea obiectului. De fapt, atunci când obiectul este șters, acesta șterge toate resursele care i-au fost localizate, ceea ce duce la eliberarea tuturor memoriilor rezervate de acestea, astfel încât noile resurse să poată folosi acea memorie. Deși există unele diferențe între ambele concepte, ambele joacă un rol vital în programare și mai ales atunci când vorbim despre o programare eficientă folosind limbajul de nivel mediu.

Articole recomandate:

Acesta este un ghid pentru diferența dintre constructor și distrugător. Aici am discutat despre o introducere în constructor și distrugător, diferențele cheie alături de tabelul de comparație. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. C ++ vs Java
  2. Întrebări de interviu C ++
  3. Întrebări de interviu pentru colecțiile Java
  4. Carieră în programare computerizată