Tärkein ero - Rakentaja vs. Hävittäjä
Suurin osa ohjelmointikielistä tukee olio-ohjelmointia (OOP). Se on paradigma, joka auttaa mallintamaan ohjelmiston tai ohjelman esineiden avulla. OOP parantaa tuottavuutta ja ylläpidettävyyttä. OOP: ssa kaikkea pidetään esineenä. Objektit luodaan tai instantioidaan luokkien avulla. Rakentaja ja tuhoaja ovat tavanomaisia termejä olio-ohjelmoinnissa. Tässä artikkelissa käsitellään konstruktorin ja destruktorin välistä eroa. Rakentaja ja destruktori ovat luokan erityisiä jäsenfunktioita. Rakentajalla ja destruktorilla on sama nimi kuin luokassa, mutta destruktorilla on tilde (~) merkki. Keskeinen ero konstruktorin ja destruktorin välillä on se, että konstruktoria käytetään varaamaan muistia objektille, kun taas destruktoria käytetään objektin jaettuun muistiin.
SISÄLLYS
1. Yleiskatsaus ja avainerot
2. Mikä on rakentaja
3. Mikä on tuhoaja
4. Rakentajan ja hävittäjän yhtäläisyydet
5. Vertailu vierekkäin - Rakentaja vs Hävittäjä taulukkomuodossa
6. Yhteenveto
Mikä on rakentaja?
Konstruktori on luokan erityinen jäsenfunktio muistin varaamiseksi objektille. Sitä voidaan käyttää antamaan arvoja datajäsenille. Rakentaja kutsutaan, kun objekti luodaan. Sillä on sama nimi kuin luokan nimellä. Rakentaja ei palauta arvoa. Siksi se ei sisällä palautustyyppiä. Rakentaja voi myös hyväksyä parametrit. Parametreillä varustettu konstruktori tunnetaan parametrisoituna konstruktorina.
Seuraava esimerkki rakentajasta on seuraava.
julkinen luokka Suorakulmio
int pituus, leveys;
julkinen suorakulmio (int p, int q) {
pituus = p;
leveys = q;
}
julkinen int laskea ala () {
paluu (pituus * leveys);
}
}
Yllä olevan koodinpätkän mukaan konstruktorilla on sama nimi kuin luokan nimellä. Rakentaja Suorakulmio hyväksyy kaksi parametria. Ne ovat p ja q. Kokonaisluku p määritetään pituudelle. Kokonaisluku q määritetään leveydelle. CalcualteArea-alueella lasketaan pituuden ja leveyden kertolasku suorakulmion alueen löytämiseksi. Ohjelmoija voi luoda pääohjelmassa objektin, jonka tyyppi on Suorakulmio, ja välittää argumentit. esim. suorakulmio suorakulmio1 = uusi suorakulmio (2,3). Sitten parametrisoitu konstruktori kutsutaan ja määrittää arvot pituudelle ja leveydelle.
Kuva 01: Rakentaja ja tuhoaja
Kun on rakentaja ilman parametreja, sitä kutsutaan oletuskonstruktoriksi. Jos ohjelmoija ei määritä rakentajaa, käytetään oletusrakentajaa. Jos Student-luokassa on luokka ja kun ohjelmoija luo tyypin Student-objektin, kutsutaan oletuskonstruktoria. esim. opiskelija s1 = uusi opiskelija (); Luokassa voi olla useita rakentajia, joilla on erilaiset parametrit ja erilaiset tietotyypit. Sopiva konstruktori voidaan kutsua vastaavasti. Siksi rakentajat voivat olla ylikuormitettuja.
Mikä on tuhoaja?
Destruktori on luokan erityinen jäsenfunktio. Sitä käytetään muistin varaamiseen konstruktorin luomalle objektille. Destruktori käynnistetään, kun esine tuhotaan. Se suorittaa siivousvaraston, jota ei enää tarvita. Rakentajan tavoin destruktorilla on sama nimi kuin luokassa. Se sisältää myös tilde (~) -symbolin.
Tuhoaja ei palauta arvoa. Toisin kuin konstruktori, destruktori ei hyväksy mitään parametreja. Joten tuhoaja ei tue ylikuormitusta. Destruktorin julistamista pidetään hyvänä ohjelmointikäytäntönä, koska se vapauttaa muistitilan ja sitä voidaan käyttää joidenkin muiden objektien tallentamiseen. Hävittäjän syntaksin on samanlainen kuin ~ className () {}. esim. ~ suorakulmio () {}; Luokassa voi olla vain yksi tuhoaja.
Mitkä ovat rakentajan ja tuhoajan yhtäläisyydet?
- Sekä rakentaja että tuhoaja liittyvät esineisiin.
- Sekä rakentaja että tuhoaja eivät palauta arvoa.
- Sekä konstruktori että destruktori kutsutaan automaattisesti.
Mikä on ero rakentajan ja hävittäjän välillä?
Erilainen artikkeli keskellä taulukkoa
Rakentaja vs tuhoaja |
|
Rakentaja on luokan erityisjäsen, jota käytetään muistin varaamiseen objektille. | Destruktori on luokan erityisjäsen, jota käytetään kohteen muistin jakamiseen. |
Menetelmä kutsumiseksi | |
Rakentaja kutsutaan objektia luodessasi. | Tuhoaja kutsutaan, kun esine tuhotaan tai poistetaan. |
Käyttö | |
Rakentajaa käytetään muistin varaamiseen esineille. | Tuhoajaa käytetään kohteiden muistin jakamiseen. |
Parametrit | |
Rakentaja hyväksyy parametrit. | Destruktori ei hyväksy parametreja. |
Rakentajien ja tuhoajien lukumäärä | |
Rakentajia voi olla useita, joilla on erilainen määrä parametreja ja erityyppisiä parametreja. | Luokassa voi olla yksi tuhoaja. |
Suoritusnopeus | |
Rakentajalla on sama nimi kuin luokan nimellä. | Destruktorilla on sama nimi kuin luokan nimellä, jossa on tilde (~) -symboli. |
Ylikuormitus | |
Rakentaja voi olla ylikuormitettu. | Tuhoajaa ei voida ylikuormittaa. |
Yhteenveto - Rakentaja vs Hävittäjä
OOP on yleinen paradigma ohjelmistokehityksessä, se voi yksinkertaistaa monimutkaista projektia. Rakentajaa ja destruktoria käytetään OOP: ssa. Rakentajalla ja destruktorilla on sama nimi kuin luokassa, mutta destruktorilla on ~ merkki. Rakentajan ja destruktorin välinen ero on siinä, että konstruktoria käytetään varaamaan muistia objektille, kun taas destruktoria käytetään objektin muistin jakautumiseen.
Lataa Constructor vs Destructor PDF-tiedosto
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio täältä: Ero rakentajan ja tuhoajan välillä