Kiemelt különbség – Konstruktor vs Destructor
A legtöbb programozási nyelv támogatja az objektumorientált programozást (OOP). Ez az a paradigma, amely segít egy szoftver vagy program objektumok segítségével modellezésében. Az OOP javítja a termelékenységet és a karbantarthatóságot. Az OOP-ban minden objektumnak számít. Az objektumok létrehozása vagy példányosítása osztályok segítségével történik. A konstruktor és a destruktor gyakori kifejezések az objektumorientált programozásban. Ez a cikk a konstruktor és a destruktor közötti különbséget tárgyalja. A konstruktor és a destruktor speciális tagfüggvények egy osztályban. A konstruktornak és a destruktornak ugyanaz a neve, mint az osztálynak, de a destruktornak tilde (~) jele van. A legfontosabb különbség a konstruktor és a destruktor között az, hogy a konstruktort az objektum memóriájának lefoglalására, míg a destruktort egy objektum memóriájának felszabadítására használják.
Mi az a konstruktor?
A konstruktor egy speciális tagfüggvény az osztályban, amely memóriát foglal le egy objektumhoz. Használható értékek megadására az adattagok számára. A konstruktor meghívásra kerül az objektum létrehozásakor. Ugyanaz a neve, mint az osztály nevének. A konstruktor nem ad vissza semmilyen értéket. Ezért nem tartalmaz visszatérési típust. A konstruktor paramétereket is elfogadhat. A paraméterekkel rendelkező konstruktort paraméterezett konstruktornak nevezzük.
Egy példa a konstruktorra a következő.
nyilvános osztályú téglalap{
int hosszúság, szélesség;
nyilvános téglalap(int p, int q){
hossz=p;
szélesség=q;
}
public int számítani Terület(){
vissza (hosszszélesség);
}
}
A fenti kódrészlet szerint a konstruktor neve megegyezik az osztálynévvel. A Rectangle konstruktor két paramétert fogad el. Ezek p és q. A hosszhoz a p egész érték van hozzárendelve. A szélességhez a q egész érték van hozzárendelve. A calcu alteArea mezőben a hossz és a szélesség szorzatát számítjuk ki, hogy megtaláljuk a téglalap területét. A főprogramban a programozó létrehozhat egy Rectangle típusú objektumot, és átadhatja az argumentumokat. például. Téglalap rect1=new Téglalap(2, 3). Ezután a paraméterezett konstruktor meghívódik, és hozzárendeli az értékeket a hosszhoz és a szélességhez.
01. ábra: Konstruktor és Destruktor
Ha van egy konstruktor paraméterek nélkül, azt alapértelmezett konstruktornak nevezzük. Ha a programozó nem határoz meg konstruktort, akkor az alapértelmezett konstruktor kerül meghívásra. Ha van egy diák osztály, és amikor a programozó létrehoz egy Student típusú objektumot, akkor az alapértelmezett konstruktor kerül meghívásra. például. Diák s1=new Student(); Egy osztályban több konstruktor is lehet különböző paraméterekkel és különböző adattípusokkal. Ennek megfelelően hívható meg a megfelelő konstruktor. Ezért a konstruktorok túlterhelhetők.
Mi az a destruktor?
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 tároló takarítást. A konstruktorhoz hasonlóan a destruktornak is ugyanaz a neve, mint az osztálynak. Tartalmaz egy tilde (~) szimbólumot is.
A destruktor nem ad vissza semmilyen értéket. A konstruktorral ellentétben a destruktor nem fogad el semmilyen paramétert. Tehát a destructor nem támogatja a túlterhelést. A destruktor deklarálása jó programozási gyakorlatnak tekinthető, mert felszabadítja a memóriaterületet, és ez a hely felhasználható más objektumok tárolására. A destructor szintaxisa hasonló a ~className() { }-hoz. például. ~Téglalap() { }; Egy osztályban csak egyetlen destruktor lehet.
Mi a hasonlóság a Constructor és a Destructor között?
- A konstruktor és a destruktor is objektumokhoz van társítva.
- A konstruktor és a destruktor sem ad vissza értéket.
- Mind a konstruktor, mind a destruktor automatikusan meghívásra kerül.
Mi a különbség a Constructor és a Destructor között?
Constructor vs Destructor |
|
A konstruktor egy speciális tagja az osztályban, amely egy objektum memóriájának lefoglalására szolgál. | A destruktor az osztály egy speciális tagja, amelyet egy objektum memóriájának felszabadítására használnak. |
Az előhívás módja | |
A konstruktor meghívásra kerül az objektum létrehozásakor. | A destruktor akkor hívódik meg, ha az objektum megsemmisül vagy törlődik. |
Használat | |
Egy konstruktort használnak az objektumok memóriájának lefoglalására. | Egy destruktort használnak az objektumok memóriájának felszabadítására. |
Paraméterek | |
A konstruktor paramétereket fogad el. | A destruktor nem fogad el paramétereket. |
Konstruktorok és Destruktorok száma | |
Több konstruktor is lehet, különböző számú paraméterrel és különböző típusú paraméterekkel. | Egyetlen destruktor is lehet az osztályban. |
Végrehajtási sebesség | |
Egy konstruktor neve megegyezik az osztálynévvel. | A destruktor neve megegyezik az osztálynévvel, tilde (~) szimbólummal. |
Túlterhelés | |
Egy konstruktor túlterhelhető. | A destruktort nem lehet túlterhelni. |
Összefoglaló – Constructor vs Destructor
Az OOP egy általános paradigma a szoftverfejlesztésben. Leegyszerűsítheti az összetett projekteket. Az OOP-ban konstruktort és destruktort használnak. 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 a konstruktort az objektum memóriájának lefoglalására, míg a destruktort az objektum memóriájának felszabadítására használják.
Töltse le a Constructor vs Destructor PDF-fájlját
A cikk PDF-verzióját letöltheti, és offline célokra használhatja az idézési megjegyzés szerint. Kérjük, töltse le a PDF verziót innen: A Constructor és Destructor közötti különbség