Metody C++ Getter a Setters

Metody C Getter A Setters



Jedním z nejpoužívanějších vysokoúrovňových jazyků je C++, který nám pomáhá s různými operacemi a funkcemi. Navíc nabízí několik hlavičkových souborů obsahujících deklarace funkcí a můžeme vytvářet třídy v kódech C++. Díky těmto funkcím je naše práce pohodlnější. Jádrem principu zapouzdření jsou getry a settery. Gettry zpřístupňují soukromá data veřejnosti. Mohou také poněkud změnit výsledek, který je vrácen. Settery umožňují měnit privátní proměnnou. Jsou klíčové, protože mohou nabídnout potvrzení před nastavením hodnoty. Aplikujme tyto getry a settery v našich C++ kódech zde.

Příklad 1:

Zde používáme hlavičkové soubory ke spuštění našeho kódu, protože jsou k dispozici pro vývoj v C++. Načteme hlavičkové soubory, které jsou potřebné ke spuštění tohoto kódu. V tomto kódu jsou zahrnuty soubory záhlaví „string“ a „iostream“. Následně zahrneme „jmenný prostor std“.







Poté zde vytvoříme třídu „Table“ a inicializujeme soukromou proměnnou s názvem „count“ s datovým typem „int“ a uložíme do ní „15“ jako její hodnotu. Poté vložíme klíčové slovo „public“. Poté vytvoříme funkci s názvem „getCount()“. Jeho datový typ je „int“. Zde je funkce getter. Tento „počet“ vracíme v této funkci pomocí klíčového slova „return“. Poté vyvoláme následující funkci „main()“, kde vytvoříme objekt předchozí třídy s názvem „T_obj“. Potom zavoláme funkci „getCount()“ s tímto objektem třídy v příkazu „cout“, abychom získali hodnotu count a vytiskli výsledek zde.



Kód 1:

#include <řetězec>

#include

použitím jmenný prostor std ;

třída Stůl

{

soukromé :
int počet = patnáct ;
veřejnost :
int getCount ( )
{
vrátit se počet ;
}
} ;
int hlavní ( )
{
Tabulka T_obj ;


cout << 'Zde dostáváme čísla tabulky, která jsou:' << T_obj. getCount ( ) ;

}

Výstup:

Po kompletní a úspěšné kompilaci tohoto kódu získáme tento požadovaný výstup, ve kterém můžeme vidět, že dostává hodnotu počtu a zde ji zobrazíme, což je „15“. Inicializuje se uvnitř „soukromé“ třídy.







Příklad 2:

Zde jsou uvedeny hlavičkové soubory „řetězec“ a „iostream“, které jsou vyžadovány pro tento kód. Poté je zahrnut „namespace std“. Dále vytvoříme novou instanci třídy „MySquareClass“, inicializujeme soukromou proměnnou nazvanou „squareSide“ s datovým typem „int“ a nastavíme její hodnotu na „5“. Poté je přidáno klíčové slovo „public“ a je vyvinuta funkce nazvaná „getSquareSide()“ s datovým typem „int“.

Zde se nazývá funkce „getter“. Uvnitř toho „vracíme“ „čtvercovou stranu“. Když tedy voláme tuto funkci, dává hodnotu „squareSide“. Poté umístíme další funkci nazvanou „getSquarePerimeter()“. Zde umístíme vzorec pro zjištění obvodu tak, aby po získání hodnoty strany čtverce a vynásobení „4“ vrátil obvod čtverce. Musíme také najít plochu náměstí. Za tímto účelem vyvíjíme ještě jednu funkci s názvem „getSquareArea()“ a vypočítáme plochu čtverce pomocí vzorce, který násobí strany čtverce. Vrátí plochu čtverce, kdykoli ji zavoláme, a získá hodnotu strany čtverce z předchozí proměnné „SquareSide“.



Nyní musíme tyto funkce zavolat. Vyvoláme „main()“ a poté vytvoříme objekt „MySquareClass“ s názvem „sq_obj1“. Poté zavoláme a vytiskneme všechny tři funkce s tímto objektem třídy samostatně.

Kód 2:

#include <řetězec>

#include

použitím jmenný prostor std ;

třída MySquareClass

{

soukromé :

int squareSide = 5 ;
veřejnost :
int getSquareSide ( )
{
vrátit se squareSide ;
}
int getSquarePerimeter ( )
{
vrátit se squareSide * 4 ;
}
int getSquareArea ( )
{
vrátit se squareSide * squareSide ;
}
} ;
int hlavní ( )
{
MySquareClass sq_obj1 ;

cout << 'Strana náměstí =' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'Obvod čtverce =' <<

sq_obj1. getSquarePerimeter ( ) << endl ;

cout << 'Rozloha náměstí =' <<

sq_obj1. getSquareArea ( ) << endl ;

}

Výstup:

Nejprve zobrazí stranu čtverce, která je „5“, pomocí funkce „getSquareSide()“. Poté vytiskne obvod čtverce pomocí funkce „getSquarePerimeter()“ a plochu čtverce pomocí funkce „getSquareArea()“.

Příklad 3:

Zde máme třídu „Driver“, do které vložíme klíčové slovo „private“ a deklarujeme „driverSalary“ jako soukromého člena s datovým typem „int“. Poté máme „public“, kde vytvoříme funkci „setDriverSalary“ a předáme „int d_s“ jako parametr této funkce. Toto je funkce setter zde v tomto kódu. Nyní přiřadíme „d_s“ proměnné „driverSalary“ uvnitř této funkce.

Poté vygenerujeme funkci getter s názvem „getDriverSalary“ a vrátíme plat řidiče. Nyní, po vyvolání „main()“, vytvoříme objekt třídy, který je „driverObj_1“ a nastavíme hodnotu platu řidiče voláním funkce „setDriverSalary()“ a předáním „30000“ jako parametru, který je plat řidiče. Poté tento plat vytiskneme voláním funkce „getDriverSalary()“.

Kód 3:

#include

použitím jmenný prostor std ;

třída Řidič {

soukromé :
int řidič Plat ;
veřejnost :
prázdnota setDriverSalary ( int d_s ) {
řidič Plat = d_s ;
}
int getDriverSalary ( ) {
vrátit se řidič Plat ;
}
} ;
int hlavní ( ) {
Ovladač driverObj_1 ;
driverObj_1. setDriverSalary ( 30 000 ) ;


cout << 'Plat řidiče je:' << driverObj_1. getDriverSalary ( ) ;

vrátit se 0 ;

}

Výstup:

Zde nastavíme plat řidiče a jeho plat získáme po jeho nastavení a zobrazení na výstupní obrazovce.

Příklad 4:

V tomto kódu je generována třída „Person“, kde deklarujeme tři „soukromé“ proměnné s názvem „P_name“, „P_city“ a „P_language“ s datovým typem „string“. Poté vytvoříme „veřejný“ konstruktor. Zde umístíme funkci „setPersonName()“ a jako parametr funkce uvedeme „string newName“. Poté toto „newName“ přiřadíme do proměnné „P_name“. Poté vytvoříme funkci „getPersonCity()“ a vrátíme „P_city“. Stejným způsobem vytvoříme další funkci s názvem „setPersonCity()“. Poté předáme jako parametr „string city“.

Proměnná „city“ je nyní přiřazena k proměnné „P_city“. „getPersonLanguage()“ je zde další funkcí, která také vrací „P_language“. Kromě toho také definujeme funkci „setPersonLanguage()“ a předáme jí řetězec „lang“ jako její parametr. Proměnná „P_language“ je pak přiřazena „lang“. Poté máme dvě další funkce, „lives()“ a „speak()“, kde využíváme příkaz „cout()“.

Po provedení metody „main()“ nyní vygenerujeme objekt třídy s názvem „p_obj1“. Zde nastavíme jméno osoby spuštěním funkce „setPersonName()“ a zadáním jména osoby, které je „Samuel“ jako jeho parametr. Poté nastavíme město osoby voláním funkce „setPersonCity()“ a předáním parametru „London“. Poté také nastavíme jazyk osoby pomocí funkce „setPersonLanguage()“ a jako parametr předáme „angličtinu“. Nyní zavoláme funkce „lives()“ a „speak()“ odděleně s objektem třídy „p_obj1“.

Kód 4:

#include

použitím jmenný prostor std ;

třída Osoba

{

soukromé :
řetězec P_name ;
řetězec P_city ;
řetězec P_jazyk ;

veřejnost :
prázdnota setPersonName ( řetězec newName ) {
P_name = nové jméno ;
}

řetězec getPersonCity ( ) {
vrátit se P_city ;
}

prázdnota setPersonCity ( provázkové město ) {
P_city = město ;
}

řetězec getPersonLanguage ( ) {
vrátit se P_jazyk ;
}

prázdnota nastavitPersonLanguage ( řetězec lang ) {
P_jazyk = prostě ;
}

prázdnota žije ( )
{


cout << P_name << ' žije v ' << P_city << endl ;

}

prázdnota mluvit ( )
{


cout << P_name << 'mluví' << P_jazyk << endl ;

}

} ;

int hlavní ( ) {

Osoba p_obj1 ;
p_obj1. setPersonName ( 'Samuel' ) ;
p_obj1. setPersonCity ( 'Londýn' ) ;
p_obj1. nastavitPersonLanguage ( 'Angličtina' ) ;

p_obj1. žije ( ) ;
p_obj1. mluvit ( ) ;

vrátit se 0 ;


}

Výstup:

Zde ukazuje všechny hodnoty, které jsme jako výsledek nastavili v našem kódu. Tento výsledek získáme voláním funkce, kterou jsme vytvořili.

Závěr

V této příručce jsme prozkoumali getry a settery v programování v C++. Vysvětlili jsme, že metody „getter“ a „setter“ nabízejí lepší abstrakci a zapouzdření vnitřních operací třídy. Kromě toho jsme prozkoumali, že funkce platnosti dat pro ochranu datového člena je zachována, což třídě umožňuje změnit svůj kód bez dopadu na externí kód. Udělali jsme to s kódy C++ pomocí těchto getterů a setterů.