Скачиваний:
313
Добавлен:
28.03.2021
Размер:
378.53 Кб
Скачать

12. Базовые конструкции объектно-ориентированных программ: классы и объекты.

Объектно-ориентированное программирование построено на понятии класса.

Класс определяет новый тип данных, который задает формат объекта. Класс включает как данные, так и код, предназначенный для выполнения над этими данными. Следовательно, класс связывает данные с кодом. В C++ спецификация класса используется для построения объектов. Объекты — это экземпляры класса. По сути, класс представляет собой набор планов, которые определяют, как строить объект. Важно понимать, что класс — это логическая абстракция, которая реально не существует до тех пор, пока не будет создан объект этого класса, т.е. то, что станет физическим представлением этого класса в памяти компьютера. Определяя класс, мы объявляем данные, которые он содержит, и код, который выполняется над этими данными. В классе данные объявляются в виде переменных, а код оформляется в виде функций. Функции и переменные, составляющие класс, называются его членами. Таким образом, переменная, объявленная в классе, называется членом данных, а функция, объявленная в классе, называется функцией-членом.

13. Концепция, определение, реализация класса. Принцип инкапсуляции. Атрибуты доступа к содержимому класса.

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

Общий формат объявления класса имеет следующий вид:

class имя_класса {

закрытые данные и функции

public: открытые данные и функции } список_объектов;

Данные, объявленные внутри класса, называются компонентами-данными, а функции – компонентами-функциями или методами. Объект объявляется следующим образом:

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

Теперь мы можем обратиться к данным и вызвать функции, только указав имя объекта, к которому они принадлежат. Для этих целей можно использовать те же операции точка «.» и «->».

Все программы, как правило, состоят из двух основных элементов: инструкций (кода) и данных. Код — это часть программы, которая выполняет действия, а данные представляют собой информацию, на которую направлены эти действия. Инкапсуляция — это такой механизм программирования, который связывает воедино код и данные, которые он обрабатывает, чтобы обезопасить их как от внешнего вмешательства, так и от неправильного использования.

Обычно ограничения на уровень доступа касаются элементов данных: данные имеют атрибут private или protected, а методы – public.

− private – член класса с атрибутом private может использоваться только методами собственного класса и функциями-«друзьями» этого же класса; по умолчанию все члены класса, объявленного с ключевым словом class, имеют атрибут доступа private;

− protected – то же, что и private, но дополнительно член класса может использоваться методами и функциями-«друзьями» производного класса, для которого данный класс является базовым;

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