double arrow

Основные понятия. Инкапсуля́ция — свойство языка программирования, позволяющее объединить дан­ные и код в объект и скрыть реализацию объекта от пользователя

Инкапсуля́ция — свойство языка программирования, позволяющее объединить дан­ные и код в объект и скрыть реализацию объекта от пользователя. При этом поль­зо­ва­телю предоставляется только спецификация (интерфейс) объекта. Пользователь мо­жет взаимодействовать с объектом только через этот интерфейс.

Инкапсуляция — один из четырёх важнейших механизмов объектно-ориен­тиро­ванного программирования (наряду с абстракцией, полиморфизмом и наследованием).

Предостережение: Одна из наиболее распространенных ошибок — делать со­кры­тие реализации только ради сокрытия. Целями, достойными усилий, являются:

· предельная локализация изменений при необходимости таких изменений,

  • прогнозируемость изменений (какие изменения в коде надо сделать для за­дан­ного изменения функциональности) и прогнозируемость последствий измене­ний.

В языке С++ объекты описывают с помощью классов.

Класс представляет собой совокупность данных, описывающих какие-то объек­ты, и функций, управляющих этими объектами.

Общая схема описания класса:

class Имя_класса

{

тело класса (описание данных и функций)

};

Тело класса обычно состоит из разделов, имеющих различные уровни доступа к своим элементам. Каждый раздел имеет свою метку:

Ø private - закрытые (частные) элементы;

Ø protected - защищенные элементы;

Ø public - открытые (общие) элементы.

Если для первого раздела уровень доступа не указан, то по умолчанию этот раздел имеет уровень доступа private.

Элементы данных класса объявляются точно так же как обычные переменные, за исключением только того, что они не могут быть явно инициализированы. Как правило, элементы данных закрывают от прямого доступа.

Короткие функции, не содержащие циклов, можно определить внутри описания класса, компилятор, по возможности, сделает их встраиваемыми (inline). Определение более сложных функций выносят из тела класса, тогда определение функции выглядит так:

Тип Имя_класса:: имя_функции (параметры)

{

тело функции

}

После того как класс определен, можно объявить объекты, исполь­зуя имя класса как имя типа.

Описание объекта:

Имя_класа имя_объекта;

Доступ к элементам класса осуществляется с помощью операции «точка»:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: