Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Rabochy_stol / 3 инкапсуляция и расширяемость типов

.docx
Скачиваний:
14
Добавлен:
31.05.2015
Размер:
15.34 Кб
Скачать

3 инкапсуляция и расширяемость типов.

Инкапсуляция явл одним из главных понятив в ооп,

Ооп это совокупность понятий (класс, объект, инкапсуляция, полиморфизм и т.д.) и приемов их использования.

Инкапсуляция данных – логическое связывание данных с конкретной операцией. Она означает, что данные явл не глобальными, а локальными – доступными только части программы . инкапсуляция подразумевает защиту данных. Для этого в структуре class используется идентификатор раздела private , содержащий данные и методы , доступные только для самого класса. Если данные и методы содрежатся в разделе public, они доступны извне класса. Раздел protected содержит данные и методы, доступные из класса и любого его производного класса. Наличие последних позволяет говорить об иерархии классов, где есть классы – родители – шаблоны для создания классов – потомков. Объекты, полученные из описания класса наз экземплярами этого класса.

class CPerson   { protected:    string            m_name;                     // имя public:    void              SetName(string n){m_name=n;}// устанавливает имя    string            GetName(){return (m_name);} // возвращает имя   };

общедоступные – public – компоненты доступны в люб части программы, они могут использоваться любой функцией как внутри класса так и вне её. Доступ извне осуществ через имя объекта.

Имяобекта.имячленакласса;

Ссылканаобъект.имячленакласса;

Указательнаобъект - > имячленакласса;

Собственные – private – компоненты локализованы в классе и не доступны извне. Они могут использоваться функциями –членами данного класса и функ друзьями того класса, в котором они записаны.

Защищенные – protected – компоненты доступны внутри класса и в производных класса.защищенные компоненты нужны тлько в том случае построения иерархии классов. Они используются также как и private – члены , но дополнительно могут исползоваться функ – членами и функ – друзьями классов, производных от описанного класса.

Изменить статус доступа к компонентам класса можно и с помощью использования в определении класс а ключевого слова class. В этом случае все компоненты класса по умолчанию являются собственными.