W programowaniu obiektowym w C++ enkapsulacja to technika ukrywania danych poprzez zadeklarowanie ich pod atrybutem private w zdefiniowanej klasie. Prywatne dane członków nie są dostępne spoza klasy.
Jakie są funkcje gettera w C++?
Kiedy podczas enkapsulacji trzeba uzyskać dostęp do prywatnych elementów danych w C++ w celu modyfikacji, funkcje pobierające nazywane są funkcjami pobierającymi, a do pobierania wartości zmiennych prywatnych w C++ używane są funkcje pobierające. Zastosowanie funkcji gettera ułatwia czytelność kodu i pozwala na ochronę danych, udostępniając je tylko odpowiednim członkom klasy.
Przykład 1
Ten kod ilustruje użycie funkcji getter() w C++:
#include
za pomocą przestrzeń nazw st ;
klasa Przedmiot {
prywatny :
wew cena ;
publiczny :
Przedmiot ( wew P ) {
cena = P ;
}
wew uzyskaj cenę ( ) {
powrót cena ;
}
} ;
wew główny ( ) {
Portfel przedmiotów ( 20 ) ;
cout << „Cena portfela wynosi $” << portfel. uzyskaj cenę ( ) ;
powrót 0 ;
}
W tym kodzie źródłowym zdefiniowana jest klasa przedmiotu, a cena int jest deklarowana jako jej prywatny element danych. Funkcja getPrice() służy do pobierania wartości ceny, ponieważ do członkostwa prywatnego nie można uzyskać dostępu poza klasą bez użycia funkcji get(). W funkcji głównej na obiekcie wywoływana jest funkcja getPrice() w celu zwrócenia wartości.
Cenę portfela uzyskuje się za pomocą funkcji get(), która jest drukowana jako 20 $.
Przykład 2
Ten przykład ilustruje obliczenie pola koła za pomocą funkcji get() w C++:
#include
za pomocą przestrzeń nazw st ;
klasa Koło {
prywatny :
platforma obszar ;
platforma promień ;
publiczny :
próżnia uzyskaj promień ( )
{
cout << 'Wprowadź promień okręgu: ' ;
jedzenie >> promień ;
}
próżnia znajdźObszar ( )
{
obszar = 3.14 * promień * promień ;
cout << „Obszar koła =” << obszar ;
}
} ;
wew główny ( )
{
Okrąg ok ;
ok. uzyskaj promień ( ) ;
ok. znajdźObszar ( ) ;
}
W tym kodzie źródłowym zdefiniowano klasę Circle, a parametry koła zdefiniowano jako prywatne elementy członkowskie. Aby znaleźć obszar tego okręgu, dostęp do tych elementów uzyskuje się za pomocą funkcji get():
Wniosek
W przypadku wrażliwych danych w języku C++ stosowana jest technika enkapsulacji danych. Do elementów klasy zadeklarowanych w atrybucie private nie można uzyskać dostępu poza klasą, dlatego są one zabezpieczone. Gdy podczas enkapsulacji konieczne jest uzyskanie dostępu do prywatnych elementów danych w celu modyfikacji, wywoływane są funkcje pobierające. Funkcje gettera w C++ służą do pobierania wartości zmiennych prywatnych w celu modyfikacji.