Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабор_работа №5 ООП.doc
Скачиваний:
12
Добавлен:
21.04.2015
Размер:
375.81 Кб
Скачать

Лабораторная работа № 4

ИЗУЧЕНИЕ ОСНОВ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В СРЕДЕ Microsoft VISUAL C++

1. Цель работы

Целью работы является разработка приложения с использованием принципов объектно-ори­ен­тированного программирования в среде Microsoft Visual C++.

2. Краткие теоретические сведения

2.1. Определение класса как типа данных в языке C++

Важнейшие принципы объектно-ориентированного программирования отражены в новом типе данных – class.

Объектно-ориентированный язык программирования характеризуется тремя основными принципами:

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

  2. Наследование. Определение класса и его дальнейшее использование для построения иерархии порожденных классов. Для каждого порожденного класса, относящегося к иерархии, имеется возможность предоставления доступа к функциям и переменным всех порождающих классов.

  3. Полиморфизм. Присваивание одного и того же имени нескольким отличающимся функциям, расположенным в разных классах, принадлежащих одной иерархии классов. При вызове у объекта класса функции с таким именем будет выполнен программный код функции, описанной в классе этого объекта. Если же в классе объекта функция с таким именем не определена, то будет произведено обращение к родительскому классу согласно принципу наследования. Т.е. объекты разных классов одной и той же иерархии будут выполнять различные действия при вызове функции с одним и тем же именем. Этот принцип позволяет видоизменять действия, производимые функцией с данным именем, по мере «развития» классов в пределах иерархии классов.

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

Переменные класса называют свойствами или полями, а функции класса – методами. Свойства и методы называют элементами или членами класса.

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

Синтаксис описания класса выглядит следующим образом:

class имя_класса

{

[private:]

… // описание скрытых элементов

[protected:]

… // описание скрытых элементов

[public:]

… // описание доступных (открытых) элементов

}; // описание класса заканчивается точкой с запятой

Атрибуты доступа private, protected и public регулируют воз­можность доступа к элементам класса внутри или извне класса. Сле­довательно, они являются важным инструментом инкапсуляции. Прежде всего, с помощью этих атрибутов может быть ограничен доступ к отдельным членам класса (см. табл. 1).

Таблица 1

Атрибуты доступа к членам класса

Атрибут доступа

Значение

public

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

private

Элемент класса виден только внутри класса, следовательно, может быть использован только методами того класса, в котором он описан. Используется по умолчанию (если атрибут доступа явно не указан)

protected

To же, что и private. Но дополнительно такой элемент класса может быть использован методами классов, производных от данного класса. Если нет производных классов, то private и protected идентичны.

Действие любого атрибута доступа распространяется до следующего атрибута или до конца описания класса.