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 održivost. U OOP-u se sve smatra objektom. Objekti se stvaraju ili primjenjuju 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 posebne su funkcije člana u klasi. Konstruktor i destruktor imaju isti naziv kao i klasa, ali destruktor ima znak tilde (~). ključna razlika između konstruktora i destruktora je to konstruktor se koristi za dodjelu memorije objektu, dok destruktor služi za razmještanje memorije objekta.
1. Pregled i ključne razlike
2. Što je Konstruktor
3. Što je Destruktor
4. Sličnosti između konstruktora i destruktora
5. Usporedna usporedba - Konstruktor vs Destruktor u tabelarnom obliku
6. Sažetak
Konstruktor je posebna funkcija člana u klasi koja dodjeljuje memoriju predmetu. Može se koristiti za pružanje vrijednosti za članove podataka. Konstruktor se poziva kada se objekt stvori. Ima isto ime kao i naziv klase. Konstruktor ne vraća nijednu vrijednost. Stoga ne sadrži vrstu povratka. Konstruktor također može prihvatiti parametre. Konstruktor s parametrima poznat je kao parametrizirani konstruktor.
Primjer konstruktora je sljedeći.
Pravokutnik javne klase
int duljina, širina;
javni pravokutnik (int p, int q)
dužina = p;
širina = q;
public int izračunavanjeArea ()
povrat (duljina * širina);
Prema gornjem dijelu koda, konstruktor ima isto ime kao i naziv klase. Konstruktor Pravokutnik prihvaća dva parametra. Oni su p i q. Cijela vrijednost p dodjeljuje se duljini. Cijela vrijednost q dodijeljena je širini. U proračunskoj površini izračunava se množenje dužine i širine da bi se pronašla površina pravokutnika. U glavnom programu, programer može stvoriti objekt vrste Rectangle i proslijediti argumente. npr Pravokutnik rect1 = novi pravokutnik (2,3). Zatim se poziva parametrizirani konstruktor i dodjeljuje vrijednosti duljini i širini.
Slika 01: Konstruktor i destruktor
Kada postoji konstruktor bez ikakvih parametara, zove se zadani konstruktor. Ako programer ne definira konstruktor, pozvat će se zadani konstruktor. Ako postoji klasa kao Student i kada programer stvori objekt tipa Student, zove 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 pozvati odgovarajući konstruktor. Stoga konstruktori mogu biti preopterećeni.
Destruktor je funkcija posebnog člana u klasi. Koristi se za dodjelu memorije za objekt koji je stvorio konstruktor. Destruktor se poziva kada je objekt uništen. Provodi spremanje čišćenja koje više nije potrebno. Poput konstruktora, destruktor ima isti naziv kao i klasa. Sadrži i simbol tilde (~).
Destruktor ne vraća vrijednost. Za razliku od konstruktora, destruktor ne prihvaća nikakve parametre. Dakle, destruktor ne podržava preopterećenje. Proglašavanje 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 razredu može biti samo jedan destruktor.
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 razmještanje memorije objekta. |
Način pozivanja | |
Kada se objekt stvori, poziva se konstruktor. | Destruktor se poziva kada je objekt uništen ili izbrisan. |
upotreba | |
Konstruktor se koristi za dodjelu memorije objektima. | Za raspodjelu memorije objekata koristi se destruktor. |
parametri | |
Konstruktor prihvaća parametre. | Destruktor ne prihvaća parametre. |
Broj konstruktora i destruktora | |
Može postojati više konstruktora s različitim brojem parametara i različitim vrstama parametara. | U razredu može biti i 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. |
OOP je uobičajena paradigma u razvoju softvera. Može pojednostaviti složeni projekt. Konstruktor i destruktor koriste se u OOP-u. Konstruktor i destruktor imaju isti naziv 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 razmještanje memorije objekta.
Možete preuzeti PDF verziju ovog članka i koristiti je za izvanmrežne svrhe, prema napomeni. Molimo preuzmite PDF verziju ovdje: Razlika između konstruktora i destruktora
1.tutorialspoint.com. "Java objekti i klase." Točka, Dostupno ovdje