Különbség a konstruktor és a destruktor között

Tartalomjegyzék:

Különbség a konstruktor és a destruktor között
Különbség a konstruktor és a destruktor között

Videó: Különbség a konstruktor és a destruktor között

Videó: Különbség a konstruktor és a destruktor között
Videó: C++ Haladóknak #4 - Statikus tömbök és mutatók kapcsolata 2024, Július
Anonim

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.

Különbség a konstruktor és a destruktor között
Különbség a konstruktor és a destruktor között

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

Ajánlott: