В объектно-ориентированном программировании на C++ инкапсуляция — это метод сокрытия данных путем объявления их в атрибуте Private в определенном классе. Частные данные членов недоступны извне класса.
Что такое функции-геттеры в C++?
Когда во время инкапсуляции необходимо получить доступ к элементам частных данных в C++ для изменения, функции получения называются функциями получения, и для получения значения частных переменных в C++ используются функции получения. Использование функции получения упрощает чтение кода и позволяет защитить данные, делая их доступными только соответствующим членам класса.
Пример 1
Этот код иллюстрирует использование функции getter() в C++:
#include
с использованием пространство имен стандартный ;
сорт Элемент {
частный :
интервал цена ;
общественный :
Элемент ( интервал п ) {
цена '=' п ;
}
интервал получить цену ( ) {
возвращаться цена ;
}
} ;
интервал основной ( ) {
Предмет кошелек ( двадцать ) ;
расчет << «Цена кошелька $» << кошелек. получить цену ( ) ;
возвращаться 0 ;
}
В этом исходном коде определен класс товара, а цена int объявлена как его частный элемент данных. Функция getPrice() используется для получения значения цены, поскольку к частному члену нельзя получить доступ вне класса без использования функции get(). В основной функции функция getPrice() вызывается для объекта, чтобы вернуть значение.
Цена кошелька получается с помощью функции get(), которая выводится как 20 долларов США.
Пример 2
Этот пример иллюстрирует вычисление площади круга с помощью функции get() в C++:
#include
с использованием пространство имен стандартный ;
сорт Круг {
частный :
плавать область ;
плавать радиус ;
общественный :
пустота получитьРадиус ( )
{
расчет << 'Введите радиус круга: ' ;
принимать пищу >> радиус ;
}
пустота НайтиОбласть ( )
{
область '=' 3.14 * радиус * радиус ;
расчет << 'Площадь круга = ' << область ;
}
} ;
интервал основной ( )
{
Круг круг ;
цирк получитьРадиус ( ) ;
цирк НайтиОбласть ( ) ;
}
В этом исходном коде определен класс Circle, а параметры круга определены как частные члены. Чтобы найти площадь этого круга, доступ к этим элементам осуществляется с помощью функции get():
Заключение
При работе с конфиденциальными данными в C++ используется метод инкапсуляции данных. К членам класса, объявленным в атрибуте Private, нельзя получить доступ за пределами класса, и, следовательно, они защищены. Когда во время инкапсуляции необходимо получить доступ к членам частных данных для модификации, вызываются функции получения. Функции получения в C++ используются для получения значений частных переменных для внесения изменений.