C++ metode dobivanja i postavljanja

C Metode Dobivanja I Postavljanja



Jedan od najčešće korištenih jezika visoke razine je C++ koji nam pomaže u raznim operacijama i funkcijama. Osim toga, nudi nekoliko datoteka zaglavlja koje sadrže deklaracije funkcija, a možemo stvoriti klase u C++ kodovima. Ove značajke čine naš posao praktičnijim. Srž principa enkapsulacije su geteri i postavljači. Getteri čine privatne podatke dostupnima javnosti. Oni također mogu donekle promijeniti rezultat koji se vraća. Postavljači omogućuju promjenu privatne varijable. Oni su ključni jer mogu ponuditi potvrdu prije postavljanja vrijednosti. Primijenimo ove dobivače i postavljače u našim C++ kodovima ovdje.

Primjer 1:

Ovdje koristimo datoteke zaglavlja za pokretanje našeg koda jer su dostupne za C++ razvoj. Učitavamo datoteke zaglavlja koje su potrebne za pokretanje ovog koda. Datoteke zaglavlja 'string' i 'iostream' uključene su u ovaj kod. Naknadno uključujemo 'namespace std' nakon toga.







Zatim ovdje stvaramo klasu 'Table' i inicijaliziramo privatnu varijablu pod nazivom 'count' s tipom podataka 'int' i pohranjujemo '15' u nju kao svoju vrijednost. Nakon toga umećemo ključnu riječ 'public'. Zatim stvaramo funkciju pod nazivom 'getCount()'. Njegov tip podataka je 'int'. Ovo je ovdje geter funkcija. Vraćamo ovaj 'count' u ovoj funkciji korištenjem ključne riječi 'return'. Zatim pozivamo sljedeću funkciju “main()” gdje stvaramo objekt prethodne klase s imenom “T_obj”. Zatim pozivamo funkciju 'getCount()' s ovim objektom klase u naredbi 'cout' da dobijemo vrijednost broja i ovdje ispišemo rezultat.



Kod 1:

#include

#include

korištenjem imenski prostor std ;

razreda Stol

{

privatna :
int računati = petnaest ;
javnost :
int getCount ( )
{
povratak računati ;
}
} ;
int glavni ( )
{
Tablica T_obj ;


cout << 'Ovdje dobivamo brojeve tablice koji su: ' << T_obj. getCount ( ) ;

}

Izlaz:

Nakon potpune i uspješne kompilacije ovog koda, dobivamo ovaj željeni izlaz u kojem možemo vidjeti da dobiva vrijednost brojanja i prikazati je ovdje koja je '15'. Inicijalizira se unutar 'privatne' klase.







Primjer 2:

Ovdje su uključene datoteke zaglavlja 'string' i 'iostream' koje su potrebne za ovaj kod. Nakon toga se uključuje 'namespace std'. Zatim napravimo novu instancu klase 'MySquareClass', inicijaliziramo privatnu varijablu pod nazivom 'squareSide' s tipom podataka 'int' i postavimo njezinu vrijednost na '5'. Zatim se dodaje ključna riječ 'public' i razvija se funkcija pod nazivom 'getSquareSide()' s tipom podataka 'int'.

Ovdje se to naziva 'getter' funkcija. Unutar ovoga 'vraćamo' 'squareSide'. Dakle, kada pozovemo ovu funkciju, ona daje vrijednost 'squareSide'. Nakon toga postavljamo drugu funkciju pod nazivom 'getSquarePerimeter()'. Ovdje postavljamo formulu za pronalaženje opsega tako da vraća opseg kvadrata nakon dobivanja vrijednosti stranice kvadrata i množenja s '4'. Također trebamo pronaći površinu kvadrata. U tu svrhu razvili smo još jednu funkciju pod nazivom “getSquareArea()” i izračunali površinu kvadrata uz pomoć formule koja množi stranice kvadrata. Vraća površinu kvadrata kad god ga pozovemo i dobiva vrijednost stranice kvadrata iz prethodne varijable 'squareSide'.



Sada moramo pozvati ove funkcije. Pozivamo “main()” i zatim stvaramo objekt “MySquareClass” s imenom “sq_obj1”. Nakon toga, zasebno pozivamo i ispisujemo sve tri funkcije s ovim objektom klase.

Kod 2:

#include

#include

korištenjem imenski prostor std ;

razreda MySquareClass

{

privatna :

int squareSide = 5 ;
javnost :
int getSquareSide ( )
{
povratak squareSide ;
}
int getSquarePerimeter ( )
{
povratak squareSide * 4 ;
}
int getSquareArea ( )
{
povratak squareSide * squareSide ;
}
} ;
int glavni ( )
{
MySquareClass sq_obj1 ;

cout << 'Stranica kvadrata = ' <<

sq_obj1. getSquareSide ( ) << endl ;

cout << 'Opseg kvadrata = ' <<

sq_obj1. getSquarePerimeter ( ) << endl ;

cout << 'Površina kvadrata = ' <<

sq_obj1. getSquareArea ( ) << endl ;

}

Izlaz:

Prvo prikazuje stranicu kvadrata, koja je '5', uz pomoć funkcije 'getSquareSide()'. Zatim ispisuje opseg kvadrata pomoću funkcije 'getSquarePerimeter()' i površinu kvadrata pomoću funkcije 'getSquareArea()'.

Primjer 3:

Ovdje imamo klasu 'Vozač' u koju stavljamo ključnu riječ 'private' i deklariramo 'driverSalary' kao privatnog člana s tipom podataka 'int'. Nakon ovoga, imamo “public” gdje kreiramo funkciju “setDriverSalary” i prosljeđujemo “int d_s” kao parametar ove funkcije. Ovo je funkcija postavljača ovdje u ovom kodu. Sada dodjeljujemo “d_s” varijabli “driverSalary” unutar ove funkcije.

Nakon toga generiramo getter funkciju pod nazivom 'getDriverSalary' i vraćamo vozačevu plaću. Sada, nakon pozivanja 'main()', kreiramo objekt klase koja je 'driverObj_1' i postavljamo vrijednost plaće vozača pozivanjem funkcije 'setDriverSalary()' i prosljeđivanjem '30000' kao njezinog parametra koji je plaća vozača. Zatim ispisujemo ovu plaću pozivanjem funkcije 'getDriverSalary()'.

Kod 3:

#include

korištenjem imenski prostor std ;

razreda Vozač {

privatna :
int vozačPlaća ;
javnost :
poništiti setDriverSalary ( int d_s ) {
vozačPlaća = d_s ;
}
int getDriverSalary ( ) {
povratak vozačPlaća ;
}
} ;
int glavni ( ) {
Vozač driverObj_1 ;
driverObj_1. setDriverSalary ( 30000 ) ;


cout << 'Plaća vozača je: ' << driverObj_1. getDriverSalary ( ) ;

povratak 0 ;

}

Izlaz:

Ovdje postavljamo plaću vozača i dobivamo njegovu plaću nakon što je postavimo i prikažemo na izlaznom ekranu.

Primjer 4:

Klasa “Person” generirana je u ovom kodu gdje deklariramo tri “privatne” varijable pod nazivom “P_name”, “P_city” i “P_language” s tipom podataka “string”. Nakon toga, napravimo 'javni' konstruktor. Ovdje postavljamo funkciju “setPersonName()” i stavljamo “string newName” kao parametar funkcije. Nakon toga, ovaj “newName” dodjeljujemo varijabli “P_name”. Zatim stvaramo funkciju 'getPersonCity()' i vraćamo 'P_city'. Na isti način stvaramo drugu funkciju s nazivom 'setPersonCity()'. Zatim prosljeđujemo 'string city' kao parametar.

Varijabla “city” sada je dodijeljena varijabli “P_city”. 'getPersonLanguage()' je sljedeća funkcija ovdje koja također vraća 'P_language'. Štoviše, također definiramo funkciju 'setPersonLanguage()' i prosljeđujemo joj niz 'lang' kao njezin parametar. “Jezik” se zatim dodjeljuje varijabli “P_language”. Nakon ovoga, imamo još dvije funkcije, “lives()” i “speak()”, gdje koristimo naredbu “cout()”.

Nakon izvođenja metode “main()”, sada generiramo objekt klase pod nazivom “p_obj1”. Ovdje postavljamo ime osobe pokretanjem funkcije 'setPersonName()' i pružanjem imena osobe koje je 'Samuel' kao njezin parametar. Nakon toga postavljamo grad osobe pozivanjem funkcije 'setPersonCity()' i prosljeđivanjem 'London' kao parametra. Zatim također postavljamo jezik osobe koristeći funkciju 'setPersonLanguage()' i prosljeđujući 'English' kao njen parametar. Sada funkcije “lives()” i “speak()” pozivamo odvojeno s objektom klase “p_obj1”.

Kod 4:

#include

korištenjem imenski prostor std ;

razreda Osoba

{

privatna :
niz P_name ;
niz P_grad ;
string P_jezik ;

javnost :
poništiti postaviPersonName ( niz novoIme ) {
P_name = novoIme ;
}

string getPersonCity ( ) {
povratak P_grad ;
}

poništiti postaviPersonCity ( string city ) {
P_grad = Grad ;
}

string getPersonLanguage ( ) {
povratak P_jezik ;
}

poništiti setPersonLanguage ( string lang ) {
P_jezik = samo ;
}

poništiti živi ( )
{


cout << P_name << ' živi u ' << P_grad << endl ;

}

poništiti govoriti ( )
{


cout << P_name << 'govori' << P_jezik << endl ;

}

} ;

int glavni ( ) {

Osoba p_obj1 ;
p_obj1. postaviPersonName ( 'Samuel' ) ;
p_obj1. postaviPersonCity ( 'London' ) ;
p_obj1. setPersonLanguage ( 'Engleski' ) ;

p_obj1. živi ( ) ;
p_obj1. govoriti ( ) ;

povratak 0 ;


}

Izlaz:

Ovdje se prikazuju sve vrijednosti koje smo kao rezultat postavili u našem kodu. Ovaj rezultat dobivamo pozivanjem funkcije koju smo kreirali.

Zaključak

Istražili smo dobivače i postavljače u C++ programiranju u ovom vodiču. Objasnili smo da metode 'getter' i 'setter' nude bolju apstrakciju i enkapsulaciju internih operacija klase. Osim toga, istražili smo da je funkcionalnost valjanosti podataka za zaštitu člana podataka zadržana, dopuštajući klasi da promijeni svoj kod bez utjecaja na vanjski kod. Učinili smo to s C++ kodovima korištenjem ovih gettera i postavljača.