Mga Paraan ng C++ Getters at Setters

Mga Paraan Ng C Getters At Setters



Isa sa pinakamalawak na ginagamit na mataas na antas ng mga wika ay C++ na tumutulong sa amin sa iba't ibang mga operasyon at pag-andar. Bukod pa rito, nag-aalok ito ng ilang mga file ng header na naglalaman ng mga deklarasyon ng function, at maaari kaming lumikha ng mga klase sa mga C++ na code. Ang mga feature na ito ay ginagawang mas maginhawa ang aming trabaho. Ang core ng prinsipyo ng encapsulation ay getter at setter. Ginagawa ng mga getter na maabot ng publiko ang pribadong data. Maaari din nilang bahagyang baguhin ang resulta na ibinalik. Ginagawang posible ng mga setter na baguhin ang isang pribadong variable. Mahalaga ang mga ito dahil maaari silang mag-alok ng kumpirmasyon bago magtakda ng halaga. Ilapat natin ang mga getter at setter na ito sa aming mga C++ code dito.

Halimbawa 1:

Ginagamit namin ang mga file ng header dito upang simulan ang aming code dahil magagamit ang mga ito para sa pagpapaunlad ng C++. Nilo-load namin ang mga file ng header na kailangan para patakbuhin ang code na ito para magsimula. Ang 'string' at 'iostream' na mga file ng header ay kasama sa code na ito. Isasama namin ang 'namespace std' pagkatapos noon.







Pagkatapos, gumawa kami ng class na 'Table' dito at magsisimula ng pribadong variable na pinangalanang 'count' na may 'int' na uri ng data at nag-iimbak ng '15' dito bilang value nito. Pagkatapos nito, ipinapasok namin ang keyword na 'pampubliko'. Pagkatapos, lumikha kami ng isang function na pinangalanang 'getCount()'. Ang uri ng data nito ay 'int'. Ito ang getter function dito. Ibinabalik namin ang 'bilang' na ito sa function na ito sa pamamagitan ng paggamit ng keyword na 'return'. Pagkatapos, ginagamit namin ang sumusunod na function na 'main()' kung saan ginagawa namin ang object ng nakaraang klase na may pangalang 'T_obj'. Pagkatapos, tinatawag namin ang function na 'getCount()' kasama ang class object na ito sa statement na 'cout' upang makuha ang halaga ng count at i-print ang resulta dito.



Code 1:

#include

#include

gamit namespace std ;

klase mesa

{

pribado :
int bilangin = labinlima ;
pampubliko :
int getCount ( )
{
bumalik bilangin ;
}
} ;
int pangunahing ( )
{
Talahanayan T_obj ;


cout << 'Nakukuha namin ang mga numero ng talahanayan dito na: ' << T_obj. getCount ( ) ;

}

Output:

Pagkatapos ng kumpleto at matagumpay na pagsasama-sama ng code na ito, makuha namin ang nais na output kung saan makikita namin na nakukuha nito ang halaga ng bilang at ipinapakita ito dito na '15'. Ito ay pinasimulan sa loob ng 'pribadong' klase.







Halimbawa 2:

Ang 'string' at 'iostream' na mga file ng header na kinakailangan para sa code na ito ay kasama dito. Ang 'namespace std' ay isinama pagkatapos nito. Susunod, gumawa kami ng bagong instance ng klase ng 'MySquareClass', magpasimula ng pribadong variable na tinatawag na 'squareSide' na may 'int' na uri ng data, at itakda ang halaga nito sa '5'. Ang 'pampubliko' na keyword ay pagkatapos ay idinagdag, at isang function na tinatawag na 'getSquareSide()' na may 'int' uri ng data ay binuo.

Dito, tinutukoy ito bilang function na 'getter'. Sa loob nito, 'ibinabalik' namin ang 'squareSide'. Kaya, kapag tinawag namin ang function na ito, binibigyan nito ang halaga ng 'squareSide'. Pagkatapos nito, naglalagay kami ng isa pang function na tinatawag na 'getSquarePerimeter()'. Dito, inilalagay namin ang formula upang mahanap ang perimeter upang ibalik nito ang perimeter ng parisukat pagkatapos makuha ang halaga ng gilid ng parisukat at i-multiply ito sa '4'. Kailangan din nating hanapin ang lugar ng parisukat. Para sa layuning ito, bumuo kami ng isa pang function na pinangalanang 'getSquareArea()' at kinukuwenta ang lugar ng parisukat sa tulong ng isang formula na nagpaparami sa mga gilid ng parisukat. Ibinabalik nito ang lugar ng parisukat tuwing tinatawag natin ito at nakukuha ang halaga ng parisukat na bahagi mula sa nakaraang variable na 'squareSide'.



Ngayon, kailangan nating tawagan ang mga function na ito. Hinihimok namin ang 'main()' at pagkatapos ay lumikha ng isang object ng 'MySquareClass' na may pangalan na 'sq_obj1'. Pagkatapos nito, tinatawagan at ini-print namin ang lahat ng tatlong mga function gamit ang object ng klase na ito nang hiwalay.

Code 2:

#include

#include

gamit namespace std ;

klase MySquareClass

{

pribado :

int squareSide = 5 ;
pampubliko :
int getSquareSide ( )
{
bumalik squareSide ;
}
int getSquarePerimeter ( )
{
bumalik squareSide * 4 ;
}
int getSquareArea ( )
{
bumalik squareSide * squareSide ;
}
} ;
int pangunahing ( )
{
MySquareClass sq_obj1 ;

cout << 'Ang Gilid ng parisukat =' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'Ang Perimeter ng parisukat = ' <<

sq_obj1. getSquarePerimeter ( ) << endl ;

cout << 'Ang Lugar ng parisukat = ' <<

sq_obj1. getSquareArea ( ) << endl ;

}

Output:

Una, ipinapakita nito ang gilid ng parisukat, na '5', sa tulong ng function na 'getSquareSide()'. Pagkatapos, ipi-print nito ang perimeter ng parisukat sa pamamagitan ng paggamit ng function na 'getSquarePerimeter()' at ang lugar ng square gamit ang function na 'getSquareArea()'.

Halimbawa 3:

Dito, mayroon kaming klase na 'Driver' kung saan inilalagay namin ang 'pribadong' keyword at idineklara ang 'driverSalary' bilang pribadong miyembro na may 'int' na uri ng data. Pagkatapos nito, mayroon kaming 'pampubliko' kung saan lumikha kami ng isang function na 'setDriverSalary' at ipinapasa ang 'int d_s' bilang parameter ng function na ito. Ito ang setter function dito sa code na ito. Ngayon, itinalaga namin ang 'd_s' sa variable na 'driverSalary' sa loob ng function na ito.

Pagkatapos nito, bumubuo kami ng function ng getter na tinatawag na 'getDriverSalary' at ibinabalik ang suweldo ng driver. Ngayon, pagkatapos gamitin ang 'main()', gumawa kami ng object ng klase na 'driverObj_1' at itakda ang halaga ng suweldo ng driver sa pamamagitan ng pagtawag sa function na 'setDriverSalary()' at pagpasa ng '30000' bilang parameter nito na ang suweldo ng driver. Pagkatapos, ini-print namin ang suweldong ito sa pamamagitan ng pagtawag sa function na 'getDriverSalary()'.

Code 3:

#include

gamit namespace std ;

klase Driver {

pribado :
int sahod ng driver ;
pampubliko :
walang bisa setDriverSalary ( int d_s ) {
sahod ng driver = d_s ;
}
int getDriverSalary ( ) {
bumalik sahod ng driver ;
}
} ;
int pangunahing ( ) {
Driver driverObj_1 ;
driverObj_1. setDriverSalary ( 30000 ) ;


cout << 'Ang suweldo ng driver ay:' << driverObj_1. getDriverSalary ( ) ;

bumalik 0 ;

}

Output:

Dito, itinakda namin ang suweldo ng driver at kunin ang suweldo nito pagkatapos itakda ito at ipakita ito sa output screen.

Halimbawa 4:

Ang klase ng 'Tao' ay nabuo sa code na ito kung saan kami ay nagdedeklara ng tatlong 'pribadong' variable na pinangalanang 'P_name', 'P_city', at 'P_language' na may 'string' na uri ng data. Pagkatapos nito, gumawa kami ng isang 'pampublikong' constructor. Dito, inilalagay namin ang function na 'setPersonName()' at inilalagay ang 'string newName' bilang parameter ng function. Pagkatapos nito, itinalaga namin itong 'newName' sa variable na 'P_name'. Pagkatapos, gagawin namin ang function na 'getPersonCity()' at ibabalik ang 'P_city'. Sa parehong paraan, lumikha kami ng isa pang function na may pangalang 'setPersonCity()'. Pagkatapos, ipinapasa namin ang 'string city' bilang parameter.

Ang variable na 'lungsod' ay itinalaga na ngayon sa variable na 'P_city'. Ang ”getPersonLanguage()” ay ang susunod na function dito na nagbabalik din ng “P_language”. Bukod dito, tinutukoy din namin ang function na 'setPersonLanguage()' at ipinapasa dito ang string na 'lang' bilang parameter nito. Ang 'lang' ay itatalaga sa variable na 'P_language'. Pagkatapos nito, mayroon kaming dalawa pang function, 'lives()' at 'speak()', kung saan ginagamit namin ang 'cout()' statement.

Pagkatapos isagawa ang 'pangunahing()' na pamamaraan, bumubuo na kami ngayon ng isang bagay ng klase na tinatawag na 'p_obj1'. Dito, itinakda namin ang pangalan ng tao sa pamamagitan ng pagpapatakbo ng function na 'setPersonName()' at pagbibigay ng pangalan ng tao na 'Samuel' bilang parameter nito. Pagkatapos nito, itinakda namin ang lungsod ng tao sa pamamagitan ng pagtawag sa function na 'setPersonCity()' at pagpasa sa 'London' bilang parameter. Pagkatapos, itinakda din namin ang wika ng tao gamit ang function na 'setPersonLanguage()' at ipinapasa ang 'English' bilang parameter nito. Ngayon, tinatawag namin ang mga function na 'lives()' at 'speak()' nang hiwalay sa object ng class na 'p_obj1'.

Code 4:

#include

gamit namespace std ;

klase Tao

{

pribado :
string P_name ;
string P_city ;
string P_wika ;

pampubliko :
walang bisa setPersonName ( string newName ) {
P_name = bagong pangalan ;
}

string getPersonCity ( ) {
bumalik P_city ;
}

walang bisa setPersonCity ( string city ) {
P_city = lungsod ;
}

string getPersonLanguage ( ) {
bumalik P_wika ;
}

walang bisa setPersonLanguage ( string lang ) {
P_wika = lang ;
}

walang bisa buhay ( )
{


cout << P_name << ' naninirahan sa ' << P_city << endl ;

}

walang bisa magsalita ( )
{


cout << P_name << 'nagsalita' << P_wika << endl ;

}

} ;

int pangunahing ( ) {

Tao p_obj1 ;
p_obj1. setPersonName ( 'Samuel' ) ;
p_obj1. setPersonCity ( 'London' ) ;
p_obj1. setPersonLanguage ( 'Ingles' ) ;

p_obj1. buhay ( ) ;
p_obj1. magsalita ( ) ;

bumalik 0 ;


}

Output:

Dito, ipinapakita nito ang lahat ng value na itinakda namin sa aming code bilang resulta. Nakukuha namin ang resultang ito sa pamamagitan ng pagtawag sa function na aming nilikha.

Konklusyon

Ginalugad namin ang mga getter at setter sa C++ programming sa gabay na ito. Ipinaliwanag namin na ang mga pamamaraan ng 'getter' at 'setter' ay nag-aalok ng mas mahusay na abstraction at encapsulation ng mga panloob na operasyon ng klase. Bilang karagdagan, na-explore namin na ang data validity functionality upang pangalagaan ang data member ay pinananatili, na nagpapahintulot sa klase na baguhin ang code nito nang hindi naaapektuhan ang external na code. Ginawa namin ito gamit ang mga C++ code sa pamamagitan ng paggamit ng mga getter at setter na ito.