C++ Getterite ja Setterite meetodid

C Getterite Ja Setterite Meetodid



Üks enimkasutatavaid kõrgkeeli on C++, mis aitab meid erinevate toimingute ja funktsioonidega. Lisaks pakub see mitmeid funktsioonide deklaratsioone sisaldavaid päisefaile ja võime luua klasse C++ koodides. Need funktsioonid muudavad meie töö mugavamaks. Kapseldamise põhimõtte tuumaks on getterid ja setterid. Getterid muudavad privaatsed andmed avalikkusele kättesaadavaks. Samuti võivad need mõnevõrra muuta tagastatavat tulemust. Seadistajad võimaldavad privaatmuutujat muuta. Need on üliolulised, kuna võivad enne väärtuse määramist pakkuda kinnitust. Rakendame neid gettereid ja seadistajaid meie C++ koodides siin.

Näide 1:

Kasutame koodi käivitamiseks siin päisefaile, kuna need on C++ arendamiseks saadaval. Laadime selle koodi käivitamiseks vajalikud päisefailid. Päisefailid 'string' ja 'iostream' sisalduvad selles koodis. Seejärel lisame pärast seda nimeruumi std.







Seejärel loome siin klassi 'Tabel' ja initsialiseerime privaatse muutuja nimega 'count' andmetüübiga 'int' ja salvestame selle väärtuseks '15'. Pärast seda sisestame märksõna 'avalik'. Seejärel loome funktsiooni nimega 'getCount()'. Selle andmetüüp on 'int'. See on siin Getteri funktsioon. Tagastame selle 'loenduse' selles funktsioonis, kasutades märksõna 'tagasi'. Seejärel käivitame järgmise funktsiooni 'main()', kus loome eelmise klassi objekti nimega 'T_obj'. Seejärel kutsume selle klassiobjektiga lauses 'cout' funktsiooni 'getCount()', et saada loenduse väärtus ja printida tulemus siia.



Kood 1:

#include

#include

kasutades nimeruum std ;

klass Tabel

{

privaatne :
int loendama = viisteist ;
avalik :
int getCount ( )
{
tagasi loendama ;
}
} ;
int peamine ( )
{
Tabel T_obj ;


cout << 'Siin saame tabeli numbrid, mis on:' << T_obj. getCount ( ) ;

}

Väljund:

Pärast selle koodi täielikku ja edukat kompileerimist saame soovitud väljundi, milles näeme, et see saab loendusväärtuse ja kuvame selle siin, mis on '15'. See lähtestatakse eraklassis.







Näide 2:

Selle koodi jaoks vajalikud päisefailid 'string' ja 'iostream' on lisatud siia. Pärast seda lisatakse nimeruum std. Järgmisena loome klassi „MySquareClass” uue eksemplari, initsialiseerime privaatse muutuja nimega „squareSide” andmetüübiga „int” ja määrame selle väärtuseks „5”. Seejärel lisatakse märksõna 'avalik' ja töötatakse välja funktsioon 'getSquareSide()' andmetüübiga 'int'.

Siin nimetatakse seda funktsiooniks 'getter'. Selle sees 'tagastame' 'ruudukülje'. Niisiis, kui me seda funktsiooni kutsume, annab see väärtuse 'squareSide'. Pärast seda asetame teise funktsiooni nimega 'getSquarePerimeter()'. Siia asetame perimeetri leidmiseks valemi, nii et see tagastab ruudu ümbermõõdu pärast ruudu külje väärtuse saamist ja selle korrutamist 4-ga. Samuti peame leidma väljaku pindala. Selleks töötame välja veel ühe funktsiooni nimega “getSquareArea()” ja arvutame välja ruudu pindala valemi abil, mis korrutab ruudu küljed. See tagastab ruudu pindala alati, kui me seda kutsume, ja saab ruudu külje väärtuse eelmisest muutujast 'squareSide'.



Nüüd peame neid funktsioone kutsuma. Me kutsume esile 'main()' ja loome seejärel objekti 'MySquareClass' nimega 'sq_obj1'. Pärast seda kutsume ja prindime kõik kolm funktsiooni selle klassiobjektiga eraldi.

Kood 2:

#include

#include

kasutades nimeruum std ;

klass MySquareClass

{

privaatne :

int squareSide = 5 ;
avalik :
int getSquareSide ( )
{
tagasi squareSide ;
}
int saadaSquarePerimeter ( )
{
tagasi squareSide * 4 ;
}
int saadaSquareArea ( )
{
tagasi squareSide * squareSide ;
}
} ;
int peamine ( )
{
MySquareClass sq_obj1 ;

cout << 'Ruudu külg =' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'Ruudu perimeeter =' <<

sq_obj1. saadaSquarePerimeter ( ) << endl ;

cout << 'Ruudu pindala =' <<

sq_obj1. saadaSquareArea ( ) << endl ;

}

Väljund:

Esiteks kuvab see funktsiooni 'getSquareSide()' abil ruudu külje, mis on '5'. Seejärel prindib see ruudu ümbermõõdu, kasutades funktsiooni 'getSquarePerimeter()' ja ruudu pindala funktsiooni 'getSquareArea()' abil.

Näide 3:

Siin on meil klass 'Driver', kuhu paneme märksõna 'privaatne' ja deklareerime 'juhipalga' eraliikmeks andmetüübiga 'int'. Pärast seda on meil “public”, kus loome funktsiooni “setDriverSalary” ja edastame selle funktsiooni parameetriks “int d_s”. See on selles koodis seadistaja funktsioon. Nüüd määrame selle funktsiooni sees muutujale 'driverSalary' 'd_s'.

Pärast seda genereerime geteri funktsiooni 'getDriverSalary' ja tagastame juhi palga. Nüüd, pärast 'main()' käivitamist, loome objekti klassist 'driverObj_1' ja määrame juhi palga väärtuse, kutsudes välja funktsiooni 'setDriverSalary()' ja edastades selle parameetriks '30000', mis on juhi palk. Seejärel prindime selle palga, kutsudes välja funktsiooni 'getDriverSalary()'.

Kood 3:

#include

kasutades nimeruum std ;

klass Juht {

privaatne :
int autojuhi Palk ;
avalik :
tühine setDriverSalary ( int d_s ) {
autojuhi Palk = d_s ;
}
int getDriverSalary ( ) {
tagasi autojuhi Palk ;
}
} ;
int peamine ( ) {
Draiveri draiverObj_1 ;
draiverObj_1. setDriverSalary ( 30 000 ) ;


cout << 'Juhi palk on:' << draiverObj_1. getDriverSalary ( ) ;

tagasi 0 ;

}

Väljund:

Siin määrame juhi palga ja saame selle palga pärast selle määramist ja kuvamist väljundekraanil.

Näide 4:

Selles koodis genereeritakse klass 'Person', kus deklareerime kolm 'privaatset' muutujat nimega 'P_name', 'P_city' ja 'P_language' andmetüübiga 'string'. Pärast seda teeme 'avaliku' konstruktori. Siin asetame funktsiooni 'setPersonName()' ja funktsiooni parameetriks 'string newName'. Pärast seda määrame selle 'newName' muutujale 'P_name'. Seejärel loome funktsiooni 'getPersonCity()' ja tagastame 'P_city'. Samal viisil loome teise funktsiooni nimega 'setPersonCity()'. Seejärel edastame parameetrina 'stringi linn'.

Muutuja 'city' on nüüd määratud muutujale 'P_city'. 'getPersonLanguage()' on siin järgmine funktsioon, mis tagastab ka 'P_language'. Lisaks määratleme ka funktsiooni 'setPersonLanguage()' ja edastame selle parameetrina stringi 'lang'. Seejärel määratakse 'lang' muutujale 'P_language'. Pärast seda on meil veel kaks funktsiooni, 'lives()' ja 'speak()', kus kasutame lauset 'cout()'.

Pärast meetodi 'main()' täitmist genereerime nüüd klassi objekti nimega 'p_obj1'. Siin määrame isiku nime, käivitades funktsiooni 'setPersonName()' ja pakkudes parameetrina isiku nime, mis on 'Samuel'. Pärast seda määrame inimese linna, kutsudes välja funktsiooni 'setPersonCity()' ja andes parameetriks 'London'. Seejärel määrame ka inimese keele, kasutades funktsiooni 'setPersonLanguage()' ja edastades selle parameetriks 'inglise'. Nüüd kutsume funktsioonid 'lives()' ja 'speak()' klassi 'p_obj1' objektiga eraldi.

Kood 4:

#include

kasutades nimeruum std ;

klass Isik

{

privaatne :
string P_nimi ;
string P_linn ;
string P_keel ;

avalik :
tühine määrataPersonName ( string newName ) {
P_nimi = uusNimi ;
}

string getPersonCity ( ) {
tagasi P_linn ;
}

tühine setPersonCity ( string linn ) {
P_linn = linn ;
}

string getPersonLanguage ( ) {
tagasi P_keel ;
}

tühine setPersonLanguage ( string lang ) {
P_keel = lihtsalt ;
}

tühine elusid ( )
{


cout << P_nimi << ' elab ' << P_linn << endl ;

}

tühine räägi ( )
{


cout << P_nimi << 'räägib' << P_keel << endl ;

}

} ;

int peamine ( ) {

Isik p_obj1 ;
p_obj1. määrataPersonName ( 'Samuel' ) ;
p_obj1. setPersonCity ( 'London' ) ;
p_obj1. setPersonLanguage ( 'Inglise' ) ;

p_obj1. elusid ( ) ;
p_obj1. räägi ( ) ;

tagasi 0 ;


}

Väljund:

Siin kuvatakse kõik väärtused, mille me selle tulemusel oma koodis määrame. Selle tulemuse saame, kui kutsume loodud funktsiooni.

Järeldus

Selles juhendis uurisime C++ programmeerimise gettereid ja seadistajaid. Selgitasime, et meetodid 'getter' ja 'setter' pakuvad klassi sisemiste operatsioonide paremat abstraktsiooni ja kapseldamist. Lisaks uurisime, et andmete kehtivuse funktsionaalsus andmeliikme kaitsmiseks säilib, võimaldades klassil oma koodi muuta ilma välist koodi mõjutamata. Tegime seda C++ koodidega, kasutades neid gettereid ja seadistajaid.