Ključna razlika - konstruktor vs destruktor
Većina programskih jezika podržava objektno orijentirano programiranje (OOP). Paradigma je ta koja pomaže u modeliranju softvera ili programa pomoću objekata. OOP poboljšava produktivnost i održivost. U OOP-u se sve smatra objektom. Objekti se kreiraju ili instanciraju pomoću klasa. Konstruktor i destruktor uobičajeni su pojmovi u objektno orijentiranom programiranju. Ovaj članak govori o razlici između konstruktora i destruktora. Konstruktor i destruktor su posebna funkcija č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.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je konstruktor
3. Što je destruktor
4. Sličnosti između konstruktora i destruktora
5. Usporedna usporedba - Konstruktor vs Destruktor u tabličnom obliku
6. Sažetak
Što je konstruktor?
Konstruktor je posebna funkcija člana u klasi koja dodjeljuje memoriju objektu. Može se koristiti za pružanje vrijednosti za članove podataka. Konstruktor se poziva kada se objekt kreira. Ima isto ime kao i naziv 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.
javni razred Pravokutnik {
int dužina, širina;
javni pravokutnik (int p, int q) {
duljina = p;
širina = q;
}
javni int CalcuArea () {
povratak (dužina * širina);
}
}
Prema gornjem dijelu koda, konstruktor ima isto ime kao i naziv klase. Konstruktor Pravokutnik prihvaća dva parametra. Oni su p i q. Duljini se dodjeljuje cjelobrojna vrijednost p. Cjelobrojna vrijednost q dodjeljuje se širini. U calcualteArea izračunava se množenje duljine i širine kako bi se pronašlo područje pravokutnika. U glavnom programu programer može stvoriti objekt tipa Pravokutnik i proslijediti argumente. npr. Pravokutnik rect1 = novi Pravokutnik (2,3). Zatim se poziva parametrizirani konstruktor koji vrijednosti dodjeljuje duljini i širini.
Slika 01: Konstruktor i destruktor
Kada postoji konstruktor bez ikakvih parametara, naziva se zadanim konstruktorom. Ako programer ne definira konstruktor, pozvat će se zadani konstruktor. Ako postoji klasa kao Student i kada programer kreira objekt tipa Student, poziva se zadani konstruktor. npr. Student s1 = novi student (); U klasi može biti više konstruktora s različitim parametrima i različitim vrstama podataka. U skladu s tim može se nazvati odgovarajući konstruktor. Stoga se konstruktori mogu preopteretiti.
Što je destruktor?
Destruktor je posebna funkcija člana u klasi. Koristi se za raspodjelu memorije za objekt stvoren od konstruktora. Destruktor se poziva kada je objekt uništen. Provodi spremište za čišćenje koje više nije potrebno. Poput konstruktora, i destruktor ima isto ime kao i klasa. Sadrži i simbol tilde (~).
Destruktor ne vraća nikakvu vrijednost. Za razliku od konstruktora, destruktor ne prihvaća nikakve parametre. Dakle, destruktor ne podržava preopterećenje. Deklariranje destruktora smatra se dobrom programskom praksom jer oslobađa memorijski prostor i taj se prostor može koristiti za pohranu nekih drugih objekata. Sintaksa destruktora slična je ~ className () {}. npr. ~ Pravokutnik () {}; U klasi može biti samo jedan destruktor.
Koje su sličnosti između konstruktora i destruktora?
- I konstruktor i destruktor povezani su s objektima.
- I konstruktor i destruktor ne vraćaju nikakvu vrijednost.
- I konstruktor i destruktor pozivaju se automatski.
Koja je razlika između konstruktora i destruktora?
Diff Article Sredina prije tablice
Konstruktor vs Destruktor |
|
Konstruktor je poseban član u klasi koji se koristi za dodjelu memorije objektu. | Destruktor je poseban član klase koji se koristi za oslobađanje memorije objekta. |
Metoda pozivanja | |
Konstruktor se poziva kada se objekt kreira. | Destruktor se poziva kada se objekt uništi ili izbriše. |
Upotreba | |
Konstruktor se koristi za dodjelu memorije za objekte. | Destruktor se koristi za oslobađanje memorije za objekte. |
Parametri | |
Konstruktor prihvaća parametre. | Destruktor ne prihvaća parametre. |
Broj konstruktora i destruktora | |
Može biti više konstruktora s različitim brojem parametara i različitim vrstama parametara. | U klasi može biti jedan destruktor. |
Brzina izvršenja | |
Konstruktor ima isto ime kao i naziv klase. | Destruktor ima isto ime kao i naziv klase sa simbolom tilde (~). |
Preopterećenje | |
Konstruktor se može preopteretiti. | Destruktor se ne može preopteretiti. |
Sažetak - Konstruktor vs Destruktor
OOP je uobičajena paradigma u razvoju softvera. Može pojednostaviti složeni projekt. U OOP 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 dodjelu 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 u izvanmrežne svrhe prema napomeni. Preuzmite PDF verziju ovdje: Razlika između konstruktora i destruktora