C++ Getters ir Setters metodai

C Getters Ir Setters Metodai



Viena iš plačiausiai naudojamų aukšto lygio kalbų yra C++, kuri mums padeda atlikti įvairias operacijas ir funkcijas. Be to, ji siūlo keletą antraščių failų, kuriuose yra funkcijų deklaracijos, ir mes galime sukurti klases C++ kodais. Dėl šių savybių mūsų darbas tampa patogesnis. Inkapsuliavimo principo esmė yra geteriai ir seteriai. „Getters“ padaro privačius duomenis prieinamus visuomenei. Jie taip pat gali šiek tiek pakeisti grąžinamą rezultatą. Seteriai suteikia galimybę pakeisti privatų kintamąjį. Jie yra labai svarbūs, nes gali pasiūlyti patvirtinimą prieš nustatant vertę. Taikykime šiuos geterius ir nustatytojus savo C++ koduose.

1 pavyzdys:

Mes naudojame antraštės failus čia norėdami pradėti savo kodą, nes juos galima kurti C++. Įkeliame antraštės failus, kurių reikia norint paleisti šį kodą. „Eilutės“ ir „iostream“ antraštės yra įtrauktos į šį kodą. Vėliau įtraukiame „vardų erdvę std“.







Tada čia sukuriame klasę „Lentelė“ ir inicijuojame privatų kintamąjį pavadinimu „count“ su „int“ duomenų tipu ir saugome jame „15“ kaip jo vertę. Po to įterpiame raktinį žodį „viešas“. Tada sukuriame funkciją pavadinimu „getCount()“. Jo duomenų tipas yra „int“. Čia yra geterio funkcija. Grąžiname šį skaičių šioje funkcijoje naudodami raktinį žodį „grįžti“. Tada iškviečiame šią funkciją „main()“, kur sukuriame ankstesnės klasės objektą pavadinimu „T_obj“. Tada iškviečiame funkciją „getCount()“ su šiuo klasės objektu „cout“ sakinyje, kad gautume count reikšmę ir čia atspausdintume rezultatą.



1 kodas:

#include

#include

naudojant vardų erdvė std ;

klasė Lentelė

{

privatus :
tarpt skaičiuoti = penkiolika ;
viešas :
tarpt gautiCount ( )
{
grąžinti skaičiuoti ;
}
} ;
tarpt pagrindinis ( )
{
Lentelė T_obj ;


cout << 'Gavome lentelės numerius, kurie yra: << T_obj. gautiCount ( ) ;

}

Išvestis:

Po pilno ir sėkmingo šio kodo kompiliavimo gauname norimą išvestį, kurioje matome, kad ji gauna skaičiavimo reikšmę ir rodoma čia, kuri yra „15“. Jis inicijuojamas „privačioje“ klasėje.







2 pavyzdys:

Šiam kodui reikalingi „eilutės“ ir „iostream“ antraštės failai yra įtraukti čia. Po to įtraukiama vardų erdvė std. Tada sukuriame naują „MySquareClass“ klasės egzempliorių, inicijuojame privatų kintamąjį „squareSide“ su „int“ duomenų tipu ir nustatome jo vertę į „5“. Tada pridedamas „viešasis“ raktinis žodis ir sukuriama funkcija „getSquareSide()“ su „int“ duomenų tipu.

Čia ji vadinama „gautojo“ funkcija. Viduje mes 'grąžiname' 'squareSide'. Taigi, kai iškviečiame šią funkciją, ji suteikia „squareSide“ reikšmę. Po to įdedame kitą funkciją, pavadintą „getSquarePerimeter ()“. Čia pateikiame formulę, kad surastume perimetrą, kad ji grąžintų kvadrato perimetrą, gavus kvadrato kraštinės reikšmę ir padauginus ją iš „4“. Taip pat turime rasti aikštės plotą. Šiuo tikslu sukuriame dar vieną funkciją, pavadintą „getSquareArea()“ ir apskaičiuojame kvadrato plotą naudodami formulę, kuri padaugina kvadrato kraštines. Jis grąžina kvadrato plotą, kai tik jį iškviečiame, ir gauna kvadrato kraštinės reikšmę iš ankstesnio „squareSide“ kintamojo.



Dabar turime iškviesti šias funkcijas. Mes iškviečiame „main()“ ir sukuriame „MySquareClass“ objektą pavadinimu „sq_obj1“. Po to iškviečiame ir atspausdiname visas tris funkcijas su šio klasės objektu atskirai.

2 kodas:

#include

#include

naudojant vardų erdvė std ;

klasė MySquareClass

{

privatus :

tarpt squareSide = 5 ;
viešas :
tarpt getSquareSide ( )
{
grąžinti squareSide ;
}
tarpt getSquarePerimeter ( )
{
grąžinti squareSide * 4 ;
}
tarpt gautiSquareArea ( )
{
grąžinti squareSide * squareSide ;
}
} ;
tarpt pagrindinis ( )
{
MySquareClass sq_obj1 ;

cout << 'Aikštės pusė =' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'Kvadrato perimetras =' <<

sq_obj1. getSquarePerimeter ( ) << endl ;

cout << 'Aikštės plotas =' <<

sq_obj1. gautiSquareArea ( ) << endl ;

}

Išvestis:

Pirma, ji rodo kvadrato kraštinę, kuri yra „5“, naudojant funkciją „getSquareSide ()“. Tada jis atspausdina kvadrato perimetrą, naudodamas funkciją „getSquarePerimeter()“, o kvadrato plotą – funkciją „getSquareArea()“.

3 pavyzdys:

Čia mes turime „Vairuotojo“ klasę, kurioje įdedame raktinį žodį „privatus“ ir deklaruojame „driverSalary“ kaip privatų narį su „int“ duomenų tipu. Po to turime „public“, kur sukuriame funkciją „setDriverSalary“ ir perduodame „int d_s“ kaip šios funkcijos parametrą. Tai yra nustatymo funkcija šiame kode. Dabar šios funkcijos kintamajam „driverSalary“ priskiriame „d_s“.

Po to sugeneruojame geterio funkciją, vadinamą „getDriverSalary“, ir grąžiname vairuotojo atlyginimą. Dabar, iškvietę „main()“, sukuriame klasės objektą, kuris yra „driverObj_1“ ir nustatome vairuotojo atlyginimo reikšmę, iškviesdami funkciją „setDriverSalary()“ ir kaip jos parametrą perduodame „30000“, kuris yra vairuotojo atlyginimas. Tada atspausdiname šį atlyginimą iškviesdami funkciją „getDriverSalary()“.

3 kodas:

#include

naudojant vardų erdvė std ;

klasė Vairuotojas {

privatus :
tarpt vairuotojo atlyginimas ;
viešas :
tuštuma setDriverSalary ( tarpt d_s ) {
vairuotojo atlyginimas = d_s ;
}
tarpt getDriverSalary ( ) {
grąžinti vairuotojo atlyginimas ;
}
} ;
tarpt pagrindinis ( ) {
Tvarkyklės driverObj_1 ;
driverObj_1. setDriverSalary ( 30 000 ) ;


cout << 'Vairuotojo atlyginimas yra: << driverObj_1. getDriverSalary ( ) ;

grąžinti 0 ;

}

Išvestis:

Čia mes nustatome vairuotojo atlyginimą ir gauname jo atlyginimą, kai jį nustatome ir parodome išvesties ekrane.

4 pavyzdys:

Šiame kode sugeneruojama klasė „Asmuo“, kurioje deklaruojame tris „privačius“ kintamuosius, pavadintus „P_name“, „P_city“ ir „P_language“ su „stygos“ duomenų tipu. Po to darome „viešą“ konstruktorių. Čia įdedame funkciją „setPersonName()“ ir kaip funkcijos parametrą įdedame „string newName“. Po to šį „newName“ priskiriame kintamajam „P_name“. Tada sukuriame funkciją „getPersonCity()“ ir grąžiname „P_city“. Tuo pačiu būdu sukuriame kitą funkciją pavadinimu „setPersonCity()“. Tada kaip parametrą perduodame „styginių miestą“.

Kintamasis „city“ dabar priskirtas kintamajam „P_city“. „getPersonLanguage()“ yra kita čia funkcija, kuri taip pat grąžina „P_language“. Be to, mes taip pat apibrėžiame funkciją „setPersonLanguage()“ ir kaip parametrą perduodame jai eilutę „lang“. Tada „lang“ priskiriamas „P_language“ kintamajam. Po to turime dar dvi funkcijas: „lives()“ ir „speak()“, kuriose naudojame „cout()“ teiginį.

Įvykdę „main()“ metodą, dabar sugeneruojame klasės objektą, vadinamą „p_obj1“. Čia mes nustatome asmens vardą paleisdami funkciją „setPersonName()“ ir kaip parametrą pateikdami asmens vardą, kuris yra „Samuel“. Po to nustatome asmens miestą, iškviesdami funkciją „setPersonCity()“ ir kaip parametrą pateikdami „London“. Tada mes taip pat nustatome asmens kalbą naudodami funkciją „setPersonLanguage()“ ir kaip parametrą perduodame „English“. Dabar „lives()“ ir „speak()“ funkcijas vadiname atskirai su „p_obj1“ klasės objektu.

4 kodas:

#include

naudojant vardų erdvė std ;

klasė Asmuo

{

privatus :
eilutė P_name ;
eilutė P_miestas ;
eilutė P_kalba ;

viešas :
tuštuma setPersonName ( eilutė newName ) {
P_vardas = naujasVardas ;
}

eilutė getPersonCity ( ) {
grąžinti P_miestas ;
}

tuštuma setPersonCity ( styginių miestas ) {
P_miestas = miestas ;
}

eilutė getPersonLanguage ( ) {
grąžinti P_kalba ;
}

tuštuma setPersonLanguage ( stygos lang ) {
P_kalba = tiesiog ;
}

tuštuma gyvybių ( )
{


cout << P_vardas << ' gyvena ' << P_miestas << endl ;

}

tuštuma kalbėti ( )
{


cout << P_vardas << 'kalba' << P_kalba << endl ;

}

} ;

tarpt pagrindinis ( ) {

Asmuo p_obj1 ;
p_obj1. setPersonName ( 'Samuelis' ) ;
p_obj1. setPersonCity ( 'Londonas' ) ;
p_obj1. setPersonLanguage ( 'Anglų' ) ;

p_obj1. gyvybių ( ) ;
p_obj1. kalbėti ( ) ;

grąžinti 0 ;


}

Išvestis:

Čia rodomos visos vertės, kurias nustatėme savo kode. Šį rezultatą gauname iškvietę funkciją, kurią sukūrėme.

Išvada

Šiame vadove mes ištyrėme C++ programavimo geterius ir nustatytojus. Paaiškinome, kad „getter“ ir „setter“ metodai siūlo geresnę klasės vidinių operacijų abstrakciją ir inkapsuliavimą. Be to, ištyrėme, kad duomenų galiojimo funkcija, skirta apsaugoti duomenų narį, išlaikoma, leidžianti klasei pakeisti savo kodą nepažeidžiant išorinio kodo. Mes tai padarėme su C++ kodais, naudodami šiuos geterius ir nustatytojus.