Лекция
Привет, сегодня поговорим про доступность компонентов класса, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое доступность компонентов класса , настоятельно рекомендую прочитать все из категории С++ (C plus plus).
В рассмотренных ранее примерах классов компоненты классов являются общедоступными. В любом месте программы, где “видно” определение класса, можно получить доступ к компонентам объекта класса. Тем самым не выполняется основной принцип абстракции данных – инкапсуляция (сокрытие) данных внутри объекта. Для изменения видимости компонент в определении класса можно использовать спецификаторы доступа : public, private, protected.
Общедоступные (public) компоненты доступны в любой части программы. Они могут использовать любой функцией как внутри класса, так и вне его. Доступ извне осуществляется через имя объекта :
имя_объекта.имя_члена_класса;
ссылка_на_объект.имя_члена_класса;
указатель_на_объект->имя_члена_класса;
Собственные (private) компоненты локализованы в классе и не доступны извне. Об этом говорит сайт https://intellect.icu . Они могут использоваться функциями- членами данного класса и функциями- “друзьями того класса, в котором они описаны.
Защищенные (protected) компоненты доступны внутри класса и в производных классах. Защищенные компоненты нужны только в случае построения иерархии классов. Они используются также, как и private-члены, но дополнительно могут использоваться функциями- членами и функциями- “друзьями” классов, производных от описанного класса.
Изменить статус доступа к компонентам класса можно и с помощью использования в определении класса ключевого слова class. В этом случае все компоненты класса по умолчанию являются собственными.
Пример 1.2.1
class complex
{
double re, im; // private по умолчанию
public:
double real(){return re;}
double imag(){return im;}
void set(double x,double y){re = x; im = y;}
};
В общем, мой друг ты одолел чтение этой статьи об доступность компонентов класса. Работы впереди у тебя будет много. Смело пиши комментарии, развивайся и счастье окажется в твоих руках. Надеюсь, что теперь ты понял что такое доступность компонентов класса и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории С++ (C plus plus)
Из статьи мы узнали кратко, но содержательно про доступность компонентов класса
Комментарии
Оставить комментарий
С++ (C plus plus)
Термины: С++ (C plus plus)