Kulcskülönbség - Konstruktor vs Destructor
A legtöbb programozási nyelv támogatja az objektumorientált programozást (OOP). A paradigma az, amely segít egy szoftver vagy egy program modellezésében objektumokkal. Az OOP javítja a termelékenységet és a karbantarthatóságot. Az OOP-ban mindent objektumnak tekintenek. Az objektumokat osztályok segítségével hozzák létre vagy példányosítják. A konstruktor és a destruktor az Object Oriented Programming általános kifejezései. Ez a cikk a konstruktor és a destruktor közötti különbséget tárgyalja. A konstruktor és a destruktor egy tag speciális funkciója. A konstruktornak és a destruktornak ugyanaz a neve, mint az osztálynak, de a destruktornak tilde (~) jele van. A konstruktor és a destruktor közötti legfontosabb különbség az, hogy egy konstruktort memória lefoglalására használnak egy objektumhoz, míg egy destruktort egy objektum osztott memóriájához.
TARTALOM
1. Összefoglalás és Legfontosabb különbség
2. Mi a Constructor
3. Mi a Destructor
4. hasonlóságok között konstruktor és destruktor
5. Egymás melletti összehasonlítás - Constructor vs Destructor táblázatos formában
6. Összefoglalás
Mi az a kivitelező?
A konstruktor egy speciális tagfüggvény az osztályban, hogy memóriát rendeljen egy objektumhoz. Használható értékek megadására az adattagok számára. A konstruktort az objektum létrehozásakor hívják meg. Ugyanaz a neve, mint az osztály neve. A konstruktor nem ad vissza értéket. Ezért nem tartalmaz visszatérési típust. A konstruktor paramétereket is elfogadhat. A paraméterekkel rendelkező konstruktort paraméterezett konstruktorként ismerjük.
A konstruktorra példa a következő.
nyilvános osztály Téglalap {
int hossza, szélessége;
nyilvános téglalap (int p, int q) {
hossz = p;
szélesség = q;
}
public int calcArea () {
visszatérés (hossz * szélesség);
}
}
A fenti kódrészlet szerint a konstruktor neve megegyezik az osztály nevével. A konstruktor Rectangle két paramétert fogad el. Ezek p és q. A p egész értéket a hosszhoz rendeljük. A q egész szám a szélességhez van rendelve. A calcualteArea-ban a hosszúság és a szélesség szorzatát úgy számítják ki, hogy megtalálja a téglalap területét. A fő programban a programozó létrehozhat egy Téglalap típusú objektumot, és átadhatja az argumentumokat. pl. téglalap rect1 = új téglalap (2,3). Ezután meghívjuk a paraméterezett konstruktort, és hozzárendeljük az értékeket a hosszúsághoz és a szélességhez.
01. ábra: Konstruktor és Destructor
Ha van konstruktor, paraméterek nélkül, akkor alapértelmezett konstruktornak nevezzük. Ha a programozó nem definiál konstruktort, akkor az alapértelmezett konstruktort hívja meg. Ha van egy osztály mint Student, és amikor a programozó létrehoz egy Student típusú objektumot, az alapértelmezett konstruktort hívjuk meg. pl. Student s1 = új Student (); Egy osztályban több konstruktor lehet, különböző paraméterekkel és különböző adattípusokkal. A megfelelő konstruktort ennek megfelelően hívhatjuk meg. Ezért a kivitelezők túlterhelhetők.
Mi az a romboló?
A destruktor egy speciális tagfüggvény az osztályban. A konstruktor által létrehozott objektum memóriájának lefoglalására szolgál. A destruktort akkor hívják meg, amikor az objektum megsemmisül. Elvégzi a már nem szükséges takarítási tárolót. A konstruktorhoz hasonlóan a destruktornak is ugyanaz a neve, mint az osztálynak. Tilde (~) szimbólumot is tartalmaz.
A destruktor nem ad vissza értéket. A konstruktortól eltérően a destruktor nem fogad el semmilyen paramétert. Tehát a destruktor nem támogatja a túlterhelést. A destruktor kijelentése jó programozási gyakorlatnak számít, mert felszabadítja a memóriaterületet, és ez a hely felhasználható néhány más objektum tárolására. A destruktor szintaxisa hasonló a ~ className () {} fájlhoz. pl ~ Téglalap () {}; Egy osztályban csak egyetlen romboló lehet.
Milyen hasonlóságok vannak a kivitelező és a romboló között?
- A konstruktor és a destruktor egyaránt társulnak objektumokkal.
- A konstruktor és a destruktor sem adnak vissza értéket.
- A konstruktort és a destruktort is automatikusan hívják.
Mi a különbség a kivitelező és a romboló között?
Különböző cikk a táblázat előtt
Konstruktor vs Destructor |
|
A konstruktor egy speciális tag az osztályban, amelyet memória lefoglalására használnak egy objektumhoz. | A destruktor az osztály speciális tagja, amelyet egy objektum memóriájának elosztására használnak. |
Meghívás módja | |
Az objektum létrehozásakor egy konstruktort hívunk meg. | A destruktort akkor hívják meg, amikor az objektum megsemmisül vagy törlődik. |
Használat | |
Konstruktort használnak az objektumok memóriájának lefoglalására. | Rombolót használnak az objektumok memóriájának elosztására. |
Paraméterek | |
Egy konstruktor elfogadja a paramétereket. | A destruktor nem fogadja el a paramétereket. |
A kivitelezők és a rombolók száma | |
Lehet több kivitelező, különböző számú paraméterrel és különböző típusú paraméterekkel. | Az osztályban egyetlen romboló lehet. |
Végrehajtási sebesség | |
A konstruktor neve megegyezik az osztály nevével. | A destruktor neve megegyezik az osztály nevével, tilde (~) szimbólummal. |
Túlterhelés | |
A kivitelező túlterhelhető. | A destruktort nem lehet túlterhelni. |
Összegzés - Konstruktor vs Destructor
Az OOP a paradigma a szoftverfejlesztésben. Ez egyszerűsítheti egy összetett projektet. Konstruktort és destruktort használnak az OOP-ban. A konstruktornak és a destruktornak ugyanaz a neve, mint az osztálynak, de a destruktornak ~ jele van. A konstruktor és a destruktor közötti különbség az, hogy egy konstruktort memória lefoglalására használnak egy objektumhoz, míg egy destruktort egy objektum osztott memóriájához.
Töltse le a Constructor vs Destructor PDF-fájlt
A cikk PDF-verzióját letöltheti, és offline célokra is használhatja, az idézési megjegyzés szerint. Töltse le a PDF verziót itt: Különbség a kivitelező és a romboló között