Ero rakentajan ja tuhoajan välillä

Sisällysluettelo:

Ero rakentajan ja tuhoajan välillä
Ero rakentajan ja tuhoajan välillä

Video: Ero rakentajan ja tuhoajan välillä

Video: Ero rakentajan ja tuhoajan välillä
Video: Inside a Wooden Cabin House on a Remote Island (House Tour) 2024, Marraskuu
Anonim

Avainero – rakentaja vs. tuhoaja

Useimmat ohjelmointikielet tukevat olio-ohjelmointia (OOP). Se on paradigma, joka auttaa mallintamaan ohjelmistoa tai ohjelmaa käyttämällä esineitä. OOP parantaa tuottavuutta ja ylläpidettävyyttä. OOP:ssa kaikkea pidetään esineenä. Objektit luodaan tai instantoidaan luokkien avulla. Constructor ja Destructor ovat yleisiä termejä olio-ohjelmoinnissa. Tässä artikkelissa käsitellään rakentajan ja tuhoajan eroa. Konstruktori ja destruktori ovat luokassa erityisiä jäsentoimintoja. Rakentajalla ja destruktorilla on sama nimi kuin luokalla, mutta destruktorilla on a altomerkki (~). Keskeinen ero konstruktorin ja destruktorin välillä on se, että konstruktoria käytetään muistin varaamiseen objektille, kun taas destruktoria käytetään objektin muistin vapauttamiseen.

Mikä on rakentaja?

Konstruktori on luokan erityinen jäsenfunktio, joka varaa muistia objektille. Sitä voidaan käyttää antamaan arvoja datajäsenille. Konstruktori kutsutaan, kun objekti luodaan. Sillä on sama nimi kuin luokan nimellä. Konstruktori ei palauta mitään arvoa. Siksi se ei sisällä palautustyyppiä. Rakentaja voi myös hyväksyä parametreja. Konstruktori, jolla on parametrit, tunnetaan parametroiduna konstruktorina.

Esimerkki konstruktorista on seuraava.

julkinen luokka suorakaide{

int pituus, leveys;

julkinen suorakulmio(int p, int q){

pituus=p;

leveys=q;

}

julkinen int laskeaArea(){

paluu (pituusleveys);

}

}

Yllä olevan koodinpätkän mukaan rakentajalla on sama nimi kuin luokan nimellä. Rakentaja Suorakulmio hyväksyy kaksi parametria. Ne ovat p ja q. Pituudelle on annettu kokonaislukuarvo p. Leveydelle on annettu kokonaislukuarvo q. Kohdassa calcu alteArea lasketaan pituuden ja leveyden kertolasku suorakulmion alueen löytämiseksi. Pääohjelmassa ohjelmoija voi luoda Rectangle-tyypin objektin ja välittää argumentit. esim. Suorakulmio suora1=uusi suorakulmio(2, 3). Sitten kutsutaan parametroitu konstruktori, joka määrittää arvot pituudelle ja leveydelle.

Ero rakentajan ja tuhoajan välillä
Ero rakentajan ja tuhoajan välillä

Kuva 01: Rakentaja ja tuhoaja

Kun on konstruktori ilman parametreja, sitä kutsutaan oletuskonstruktoriksi. Jos ohjelmoija ei määritä konstruktoria, kutsutaan oletuskonstruktori. Jos opiskelijana on luokka ja kun ohjelmoija luo Student-tyyppisen objektin, kutsutaan oletuskonstruktori. esim. Opiskelija s1=uusi Opiskelija(); Luokassa voi olla useita rakentajia erilaisilla parametreilla ja eri tietotyypeillä. Sopiva rakentaja voidaan kutsua vastaavasti. Siksi rakentajat voivat ylikuormittua.

Mikä on Destructor?

Destruktor on luokan erityinen jäsenfunktio. Sitä käytetään rakentajan luoman objektin muistin purkamiseen. Tuhoajaa kutsutaan, kun esine tuhoutuu. Se suorittaa siivousvaraston, jota ei enää tarvita. Kuten konstruktorilla, destruktorilla on sama nimi kuin luokalla. Se sisältää myös tilde-symbolin (~).

Tuhoaja ei palauta arvoa. Toisin kuin konstruktori, destructor ei hyväksy mitään parametreja. Joten destructor ei tue ylikuormitusta. Destruktorin ilmoittamista pidetään hyvänä ohjelmointikäytäntönä, koska se vapauttaa muistitilaa ja sitä voidaan käyttää joidenkin muiden objektien tallentamiseen. Destructorin syntaksi on samanlainen kuin ~className() { }. esim. ~Rectangle() { }; Luokassa voi olla vain yksi tuhoaja.

Mitä yhtäläisyyksiä rakentajan ja tuhoajan välillä on?

  • Sekä rakentaja että tuhoaja liittyvät objekteihin.
  • Sekä konstruktori että tuhoaja eivät palauta mitään arvoa.
  • Sekä rakentaja että tuhoaja kutsutaan automaattisesti.

Mitä eroa Constructorilla ja Destructorilla on?

Rakentaja vs Destructor

Konstruktori on luokan erikoisjäsen, jota käytetään muistin varaamiseen objektille. Tuhoaja on luokan erityinen jäsen, jota käytetään kohteen muistin purkamiseen.
Kutsuntatapa
Konstruktori kutsutaan, kun objekti luodaan. Tuhoaja kutsutaan, kun objekti tuhotaan tai poistetaan.
Käyttö
Käsittäjää käytetään objektien muistin varaamiseen. Destruktoria käytetään kohteiden muistin purkamiseen.
Parametrit
Rakentaja hyväksyy parametrit. Destruktor ei hyväksy parametreja.
Rakentajien ja tuhoajien määrä
Voi olla useita konstruktoreita, joilla on erilainen määrä parametreja ja erityyppisiä parametreja. Luokalla voi olla yksi tuhoaja.
Suoritusnopeus
Rakentajalla on sama nimi kuin luokan nimellä. Destruktorilla on sama nimi kuin luokan nimellä, jossa on a altoviiva (~).
Ylikuormitus
Konstruktori voi olla ylikuormitettu. Tuhoajaa ei voi ylikuormittaa.

Yhteenveto – Rakentaja vs. tuhoaja

OOP on yleinen paradigma ohjelmistokehityksessä. Se voi yksinkertaistaa monimutkaisia projekteja. OOP:ssa käytetään konstruktoria ja destruktoria. Rakentajalla ja destruktorilla on sama nimi kuin luokalla, mutta destruktorilla on ~-merkki. Ero konstruktorin ja destruktorin välillä on se, että konstruktoria käytetään muistin varaamiseen objektille, kun taas destruktoria käytetään objektin muistin purkamiseen.

Lataa PDF Constructor vs Destructor

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä: Constructorin ja Destructorin ero

Suositeltava: