Razlika između konstruktora i destruktora

Sadržaj:

Razlika između konstruktora i destruktora
Razlika između konstruktora i destruktora

Video: Razlika između konstruktora i destruktora

Video: Razlika između konstruktora i destruktora
Video: Инкапсуляция ООП пример. private методы. Что такое инкапсуляция. C++ Для начинающих. Урок#77 2024, Juli
Anonim

Ključna razlika – konstruktor vs destruktor

Većina programskih jezika podržava objektno orijentirano programiranje (OOP). To je paradigma koja pomaže modeliranju softvera ili programa pomoću objekata. OOP poboljšava produktivnost i mogućnost održavanja. U OOP-u se sve smatra objektom. Objekti se kreiraju ili instanciraju pomoću klasa. Konstruktor i destruktor su uobičajeni termini u objektno orijentiranom programiranju. Ovaj članak govori o razlici između konstruktora i destruktora. Konstruktor i destruktor su posebne funkcije člana u klasi. Konstruktor i destruktor imaju isto ime kao i klasa, ali destruktor ima znak tilde (~). Ključna razlika između konstruktora i destruktora je u tome što se konstruktor koristi za dodjelu memorije objektu, dok se destruktor koristi za oslobađanje memorije objekta.

Šta je konstruktor?

Konstruktor je posebna funkcija člana u klasi za dodjelu memorije objektu. Može se koristiti za pružanje vrijednosti za članove podataka. Konstruktor se poziva kada se objekat kreira. Ima isto ime kao i ime klase. Konstruktor ne vraća nikakvu vrijednost. Stoga, ne sadrži tip povratka. Konstruktor također može prihvatiti parametre. Konstruktor s parametrima poznat je kao parametrizirani konstruktor.

Primjer konstruktora je sljedeći.

pravougaonik javne klase{

int dužina, širina;

javni pravougaonik (int p, int q){

dužina=p;

width=q;

}

public int CalculateArea(){

povratak (dužinaširina);

}

}

Prema gore navedenom dijelu koda, konstruktor ima isto ime kao i ime klase. Konstruktor Rectangle prihvata dva parametra. Oni su p i q. Cjelobrojna vrijednost p je dodijeljena dužini. Cjelobrojna vrijednost q je dodijeljena širini. U calcu alteArea, množenje dužine i širine se izračunava kako bi se pronašla površina pravokutnika. U glavnom programu, programer može kreirati objekat tipa Rectangle i proslijediti argumente. npr. Pravougaonik pravougaonik1=novi pravougaonik(2, 3). Zatim se poziva parametrizovani konstruktor i dodeljuje vrednosti dužini i širini.

Razlika između konstruktora i destruktora
Razlika između konstruktora i destruktora

Slika 01: Konstruktor i destruktor

Kada postoji konstruktor bez ikakvih parametara, naziva se zadani konstruktor. Ako programer ne definira konstruktor, bit će pozvan standardni konstruktor. Ako postoji klasa kao Student i kada programer kreira objekat tipa Student, poziva se podrazumevani konstruktor. npr. Student s1=novi Student(); U klasi može postojati više konstruktora s različitim parametrima i različitim tipovima podataka. U skladu s tim se može pozvati odgovarajući konstruktor. Stoga, konstruktori mogu biti preopterećeni.

Šta je destruktor?

Destruktor je posebna funkcija člana u klasi. Koristi se za de-alociranje memorije za objekt kreiran od strane konstruktora. Destruktor se poziva kada se objekat uništi. Izvodi skladište za čišćenje koje više nije potrebno. Kao i konstruktor, destruktor ima isto ime kao i klasa. Takođe sadrži simbol tilde (~).

Destruktor ne vraća nikakvu vrijednost. Za razliku od konstruktora, destruktor ne prihvata nikakve parametre. Dakle, destruktor ne podržava preopterećenje. Deklarisanje destruktora se smatra dobrom programskom praksom jer oslobađa memorijski prostor i taj prostor se može koristiti za pohranjivanje nekih drugih objekata. Sintaksa destruktora je slična ~className() { }. npr. ~Pravougaonik() { }; U klasi može postojati samo jedan destruktor.

Koje su sličnosti između konstruktora i destruktora?

  • I konstruktor i destruktor su povezani sa objektima.
  • I konstruktor i destruktor ne vraćaju nikakvu vrijednost.
  • I konstruktor i destruktor se pozivaju automatski.

Koja je razlika između konstruktora i destruktora?

Constructor vs Destructor

Konstruktor je poseban član u klasi koji se koristi za dodeljivanje memorije objektu. Destruktor je poseban član klase koji se koristi za oslobađanje memorije objekta.
Metoda pozivanja
Konstruktor se poziva kada je objekat kreiran. Destruktor se poziva kada je objekt uništen ili obrisan.
Upotreba
Konstrukcionik se koristi za dodjelu memorije za objekte. Destruktor se koristi za oslobađanje memorije za objekte.
Parametri
Konstruktor prihvata parametre. Destruktor ne prihvata parametre.
Broj konstruktora i destruktora
Može postojati više konstruktora sa različitim brojem parametara i različitim tipovima parametara. Može postojati jedan destruktor u klasi.
Brzina izvršenja
Konstruktor ima isto ime kao i ime klase. Destruktor ima isto ime kao ime klase sa simbolom tilde (~).
Preopterećenje
Konstruktor može biti preopterećen. Destruktor se ne može preopteretiti.

Sažetak – Constructor vs Destructor

OOP je uobičajena paradigma u razvoju softvera. Može pojednostaviti složen projekat. U OOP-u se koriste konstruktor i destruktor. Konstruktor i destruktor imaju isto ime kao i klasa, ali destruktor ima znak ~. Razlika između konstruktora i destruktora je u tome što se konstruktor koristi za dodeljivanje memorije objektu, dok se destruktor koristi za oslobađanje memorije objekta.

Preuzmite PDF Constructor vs Destructor

Možete preuzeti PDF verziju ovog članka i koristiti je za vanmrežne svrhe prema napomeni o citatu. Molimo preuzmite PDF verziju ovdje: Razlika između konstruktora i destruktora

Preporučuje se: