Uvod u konstruktor i destruktor

Konstruktor i destruktor. Konstruktor je posebna funkcija koja ima isto ime kao i klasa u kojoj je definirana. Pozva se automatski kada se stvori nova instanca. To se smatra posebnom vrstom funkcije, jer nije potrebno eksplicitno zvati objektom. Destruktor se može definirati kao posebna vrsta metode koja se može opozvati kada se instancija izbriše. Svrha Destruktora je osloboditi memoriju koja se veže za njega dok je stvorena instanca klase. Koncept Destruktora zabrinut je za upravljanje memorijom kako bi se resursi mogli učinkovito koristiti. Na jezicima poput C ++ postoji koncept Destruktora i može se automatski pozvati nakon što se instancija izbriše, dok na jeziku poput Jave, koncept Destruktora ne postoji. Pustila je program da bude napisan na dobar način, tako da se mogao pravilno sastaviti i biti lagan u pogledu potrošnje memorije.

Usporedba između konstruktora i destruktora

Ispod je 4 glavne usporedbe konstruktora i destruktora

Ključne razlike između konstruktora i destruktora

Postoji nekoliko razlika između konstruktora i destruktora. Ispod su neke od uobičajenih i važnih razlika.

  • Konstruktor se poziva kada se stvori instanca te klase. To ne treba biti izričito pozvano. U slučaju destruktora se poziva kada se briše instanca bilo koje klase. To je ujedno i nešto što se automatski pojavljuje u ulozi nakon što objekt obrišete.
  • Konstruktor vodi zauzeti memoriju sustava locirajući ih na resurse, a kod destruktora upravo je obrnuto. U destruktoru se oslobađa memorija koja je dodijeljena resursima kako bi ih mogao koristiti drugi resurs.
  • Za deklariranje konstruktora nema potrebe za posebnim karakterom. Jednostavno se može stvoriti metoda čije je ime slično imenu klase. U slučaju destruktora, znak tilde mora se upotrijebiti za uvođenje destruktora u program.
  • Konstruktor se može koristiti u programskom jeziku visoke i srednje razine. Dok se u slučaju destruktora ne može upotrijebiti na jeziku visoke razine. C ++ može koristiti destruktor, ali isti nije dostupan u Javi. To je zbog razloga što je programski jezik visoke razine imao vlastiti mehanizam za upravljanje memorijom.
  • Konstruktor se može često koristiti u programu. Upotreba je vrlo jednostavna i smanjuje složenost programa. S druge strane, destruktor se preferirano koristi kada postoji potreba za smanjenjem potrošnje memorije pomoću programskih resursa.

Usporedba između konstruktora i destruktora

Konstruktorpeć za sagorijevanje otpadaka
Prilikom izrade instanci pozvan je
Kada se stvori instanca ili objekt bilo koje klase, to vodi automatski pozivu konstruktora koji će sve izjave u okviru metode konstruktora izvršiti.
Tijekom brisanja instancije pozvano je
Kad se instanca ili objekt izbrišu, destruktor se automatski pokrene i nakon toga se izjave klase destruktora izvršavaju uzastopno.
Zauzima memoriju
Dok se klasa poziva, ona raspoređuje memoriju svim resursima koje će klasa dalje koristiti. To dovodi do trošenja memorije sustava za pohranu podataka u trajno ili privremeno.
Oslobađa memoriju
Dok se destruktor poziva, oslobađa sva sjećanja koja su resursi bili okupirani. Oslobođena memorija može se dalje nalaziti na drugim resursima koji se koriste u programu.
Podržani su na jezicima srednje i visoke razine
Konstruktor se automatski poziva kad god se stvori instanca te klase, a ovu značajku podržavaju obje vrste jezika: programski jezici srednje i visoke razine.
Podrška samo na jeziku srednje razine
Značajke destruktora podržane su samo na jeziku srednje razine poput C ++. Kada je riječ o jeziku visoke razine poput Jave, on ne dopušta značajke poput ove jer ima vlastiti način upravljanja memorijom.
Tijekom deklaracije nije potreban poseban znak
Za deklariranje konstruktora treba samo napisati ime metode koja mora biti jednaka onoj klase. Za proglašavanje konstruktora ne bi trebao biti poseban znak.
Tilde se koristi tijekom deklaracije
Za deklaraciju destruktora bit će potrebno koristiti tildu. Naziv konstruktora mora pratiti znak tilde i mora završiti malim zagradama kao što se događa u svakoj funkciji.

Zaključak

  • Konstruktor nije ništa drugačiji već samo metoda koja ima isto ime kao i klasa. Neće trebati vremena da biste se pozvali nakon što su stvorene instance. Objekt se u ovom slučaju može stvoriti koristeći istu sintaksu kao i za stvaranje objekta bilo koje klase. Do trenutka kada se objekt stvori, on zauzima prostor u memoriji i donosi izjavu konstruktora u izvršenje.
  • Destruktor je nešto upravo suprotno onome kod konstruktora. Poziva se odmah nakon brisanja objekta. Zapravo, kad se objekt izbriše, on briše sve resurse koji su mu se nalazili što dovodi do oslobađanja svih memorija koje su im rezervirali kako bi novi resursi mogli koristiti tu memoriju. Iako postoje neke razlike između oba koncepta, oba igraju vitalnu ulogu u programiranju, a posebno kada govorimo o učinkovitom programiranju koristeći jezik srednje razine.

Preporučeni članci:

Ovo je vodič za razliku između konstruktora i destruktora. Ovdje smo raspravljali o uvodu Konstruktora i Destruktora, ključnim razlikama zajedno s usporednom tablicom. Možete i proći naše druge predložene članke da biste saznali više -

  1. C ++ i Java
  2. C ++ pitanja za intervju
  3. Pitanja o intervjuima za Java zbirke
  4. Karijera u računalnom programiranju

Kategorija: