C++ Getters and Setters -menetelmät

C Getters And Setters Menetelmat



Yksi yleisimmin käytetyistä korkean tason kielistä on C++, joka auttaa meitä erilaisissa operaatioissa ja toiminnoissa. Lisäksi se tarjoaa useita funktiomäärityksiä sisältäviä otsikkotiedostoja, ja voimme luoda luokkia C++-koodeilla. Nämä ominaisuudet tekevät työstämme mukavampaa. Kapselointiperiaatteen ydin ovat getterit ja asettajat. Getterit tuovat yksityiset tiedot yleisön saataville. Ne voivat myös muuttaa jonkin verran palautettua tulosta. Seterit mahdollistavat yksityisen muuttujan muuttamisen. Ne ovat tärkeitä, koska ne voivat tarjota vahvistuksen ennen arvon asettamista. Sovelletaan näitä gettereitä ja asettajia C++-koodeissamme täällä.

Esimerkki 1:

Käytämme täällä olevia otsikkotiedostoja koodin aloittamiseen, koska ne ovat saatavilla C++-kehitykseen. Lataamme tämän koodin suorittamiseen tarvittavat otsikkotiedostot. 'String'- ja 'iostream'-otsikkotiedostot sisältyvät tähän koodiin. Sisällytämme myöhemmin 'nimiavaruuden std' sen jälkeen.







Sitten luomme tähän 'taulukko'-luokan ja alustamme yksityisen muuttujan nimeltä 'count' tietotyypillä 'int' ja tallennamme sen arvoksi '15'. Tämän jälkeen lisäämme 'julkinen' avainsanan. Sitten luomme funktion nimeltä 'getCount()'. Sen tietotyyppi on 'int'. Tämä on getter-toiminto tässä. Palautamme tämän 'luvun' tässä funktiossa käyttämällä 'return'-avainsanaa. Sitten kutsumme seuraavan 'main()'-funktion, jossa luomme edellisen luokan objektin nimellä 'T_obj'. Sitten kutsumme 'getCount()'-funktiota tämän luokkaobjektin kanssa 'cout'-käskyssä saadaksemme count-arvon ja tulostamme tuloksen tähän.



Koodi 1:

#sisällytä

#include

käyttämällä nimiavaruus std ;

luokkaa Pöytä

{

yksityinen :
int Kreivi = viisitoista ;
julkinen :
int getCount ( )
{
palata Kreivi ;
}
} ;
int pää ( )
{
Taulukko T_obj ;


cout << 'Saamme täältä taulukon numerot, jotka ovat:' << T_obj. getCount ( ) ;

}

Lähtö:

Tämän koodin täydellisen ja onnistuneen kääntämisen jälkeen saamme tämän halutun lähdön, jossa voimme nähdä, että se saa laskenta-arvon ja näyttää sen tässä, joka on '15'. Se alustetaan 'yksityisen' luokan sisällä.







Esimerkki 2:

Tähän koodiin vaadittavat 'merkkijono'- ja 'iostream'-otsikkotiedostot sisältyvät tähän. Nimiavaruus std lisätään sitten sen jälkeen. Seuraavaksi teemme uuden 'MySquareClass'-luokan esiintymän, alustamme yksityisen muuttujan nimeltä 'squareSide' tietotyypillä 'int' ja asetamme sen arvoksi '5'. Sitten lisätään 'julkinen' avainsana ja kehitetään funktio nimeltä 'getSquareSide()', jonka tietotyyppi on 'int'.

Tässä sitä kutsutaan 'getter'-funktioksi. Tämän sisällä 'palautamme' 'neliöpuolen'. Joten kun kutsumme tätä funktiota, se antaa 'squareSide'-arvon. Tämän jälkeen asetamme toisen funktion nimeltä 'getSquarePerimeter()'. Asetamme tähän kaavan kehän etsimiseksi siten, että se palauttaa neliön kehän saatuaan neliön sivun arvon ja kertomalla sen arvolla 4. Meidän on myös löydettävä aukion pinta-ala. Tätä tarkoitusta varten kehitämme vielä yhden funktion nimeltä “getSquareArea()” ja laskemme neliön pinta-alan kaavan avulla, joka kertoo neliön sivut. Se palauttaa neliön alueen aina kun kutsumme sitä ja saa neliön puolen arvon edellisestä 'squareSide'-muuttujasta.



Nyt meidän täytyy kutsua näitä toimintoja. Kutsumme 'main()' ja luomme sitten objektin 'MySquareClass' nimellä 'sq_obj1'. Tämän jälkeen kutsumme ja tulostamme kaikki kolme funktiota tällä luokkaobjektilla erikseen.

Koodi 2:

#sisällytä

#include

käyttämällä nimiavaruus std ;

luokkaa MySquareClass

{

yksityinen :

int squareSide = 5 ;
julkinen :
int getSquareSide ( )
{
palata squareSide ;
}
int getSquarePerimeter ( )
{
palata squareSide * 4 ;
}
int getSquareArea ( )
{
palata squareSide * squareSide ;
}
} ;
int pää ( )
{
MySquareClass sq_obj1 ;

cout << 'Neliön puoli =' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'Neliön ympärysmitta =' <<

sq_obj1. getSquarePerimeter ( ) << endl ;

cout << 'Neliön pinta-ala =' <<

sq_obj1. getSquareArea ( ) << endl ;

}

Lähtö:

Ensinnäkin se näyttää neliön sivun, joka on '5', 'getSquareSide()'-funktion avulla. Sitten se tulostaa neliön kehän käyttämällä 'getSquarePerimeter()'-funktiota ja neliön pinta-alan 'getSquareArea()'-funktiolla.

Esimerkki 3:

Tässä meillä on 'Driver'-luokka, johon laitamme 'private'-avainsanan ja ilmoitamme 'driverSalary' yksityiseksi jäseneksi 'int'-tietotyypillä. Tämän jälkeen meillä on 'public', jossa luomme 'setDriverSalary' -funktion ja annamme 'int d_s' tämän funktion parametriksi. Tämä on asetintoiminto tässä koodissa. Nyt määritämme 'd_s' 'driverSalary'-muuttujaan tämän funktion sisällä.

Tämän jälkeen luomme getter-funktion nimeltä “getDriverSalary” ja palautamme kuljettajan palkan. Nyt kun 'main()' on kutsuttu, luomme luokan objektin, joka on 'driverObj_1' ja asetamme kuljettajan palkan arvon kutsumalla 'setDriverSalary()'-funktiota ja antamalla sen parametriksi '30000', joka on kuljettajan palkkaa. Sitten tulostamme tämän palkan kutsumalla 'getDriverSalary()'-funktiota.

Koodi 3:

#include

käyttämällä nimiavaruus std ;

luokkaa Kuljettaja {

yksityinen :
int kuljettajan palkka ;
julkinen :
mitätön setDriverSalary ( int d_s ) {
kuljettajan palkka = d_s ;
}
int getDriverSalary ( ) {
palata kuljettajan palkka ;
}
} ;
int pää ( ) {
Kuljettajan kuljettajaObj_1 ;
kuljettajaObj_1. setDriverSalary ( 30 000 ) ;


cout << 'Kuljettajan palkka on:' << kuljettajaObj_1. getDriverSalary ( ) ;

palata 0 ;

}

Lähtö:

Täällä asetamme kuljettajan palkan ja saamme sen palkan, kun se on asetettu ja näytettävä tulosnäytöllä.

Esimerkki 4:

'Person'-luokka luodaan tässä koodissa, jossa ilmoitamme kolme 'yksityistä' muuttujaa nimeltä 'P_name', 'P_city' ja 'P_language' tietotyypillä 'string'. Tämän jälkeen teemme 'julkisen' rakentajan. Täällä asetamme 'setPersonName()' -funktion ja laitamme 'string newName' funktion parametriksi. Tämän jälkeen määritämme tämän 'newName' muuttujaan 'P_name'. Sitten luomme 'getPersonCity()'-funktion ja palautamme 'P_city'. Samalla tavalla luomme toisen funktion, jonka nimi on 'setPersonCity()'. Sitten ohitamme parametriksi 'merkkijono kaupunki'.

'city'-muuttuja on nyt liitetty 'P_city'-muuttujaan. 'getPersonLanguage()' on seuraava funktio tässä, joka palauttaa myös 'P_language'. Lisäksi määrittelemme myös 'setPersonLanguage()'-funktion ja välitämme sille 'lang'-merkkijonon sen parametriksi. 'lang' määritetään sitten 'P_language'-muuttujalle. Tämän jälkeen meillä on vielä kaksi funktiota, 'lives()' ja 'speak()', joissa käytämme 'cout()'-lausetta.

'main()'-menetelmän suorittamisen jälkeen luomme nyt luokan 'p_obj1' objektin. Täällä asetamme henkilön nimen suorittamalla 'setPersonName()' -funktion ja antamalla henkilön nimen, joka on 'Samuel' sen parametrina. Tämän jälkeen asetamme henkilön kaupungin kutsumalla 'setPersonCity()'-funktiota ja antamalla 'London' parametriksi. Sitten asetamme myös henkilön kielen käyttämällä 'setPersonLanguage()'-funktiota ja antamalla 'English' sen parametriksi. Nyt kutsumme 'lives()'- ja 'speak()'-funktioita erikseen 'p_obj1'-luokan objektin kanssa.

Koodi 4:

#include

käyttämällä nimiavaruus std ;

luokkaa Henkilö

{

yksityinen :
merkkijono P_nimi ;
merkkijono P_kaupunki ;
merkkijono P_kieli ;

julkinen :
mitätön asetaPersonName ( merkkijono newName ) {
P_nimi = uusi nimi ;
}

merkkijono getPersonCity ( ) {
palata P_kaupunki ;
}

mitätön setPersonCity ( merkkijono kaupunki ) {
P_kaupunki = kaupunki ;
}

merkkijono getPersonLanguage ( ) {
palata P_kieli ;
}

mitätön setPersonLanguage ( merkkijono lang ) {
P_kieli = vain ;
}

mitätön elämää ( )
{


cout << P_nimi << ' asuu ' << P_kaupunki << endl ;

}

mitätön puhua ( )
{


cout << P_nimi << 'puhuu' << P_kieli << endl ;

}

} ;

int pää ( ) {

Henkilö p_obj1 ;
p_obj1. asetaPersonName ( 'Samuel' ) ;
p_obj1. setPersonCity ( 'Lontoo' ) ;
p_obj1. setPersonLanguage ( 'Englanti' ) ;

p_obj1. elämää ( ) ;
p_obj1. puhua ( ) ;

palata 0 ;


}

Lähtö:

Täällä se näyttää kaikki arvot, jotka asetamme koodiimme tuloksena. Saamme tämän tuloksen kutsumalla luomamme funktiota.

Johtopäätös

Tässä oppaassa tutkimme C++-ohjelmoinnin getterit ja asettajat. Selitimme, että 'getter' ja 'setter' menetelmät tarjoavat paremman abstraktion ja kapseloinnin luokan sisäisistä operaatioista. Lisäksi selvitimme, että datajäsentä suojaava datan kelpoisuustoiminto säilyy, jolloin luokka voi muuttaa koodiaan vaikuttamatta ulkoiseen koodiin. Teimme tämän C++-koodeilla käyttämällä näitä gettereitä ja asettimia.