Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_С++_ч_3.doc
Скачиваний:
14
Добавлен:
22.11.2018
Размер:
217.6 Кб
Скачать

Федеральное агентство по образованию

ГОУ ВПО «Уральский государственный технический университет  УПИ»

Программирование на языке C++

Часть 3. Объектно-ориентированное программирование

Методические указания к лабораторным и самостоятельным работам по курсу «Программирование на языке С++» для слушателей курсов повышения квалификации и студентов всех форм обучения всех специальностей.

Екатеринбург

2006

УДК 681.3

Составитель А. В. Кибардин

Научный редактор доц., канд.техн.наук Б. В. Семенов

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ с++. ч.3. Объектно-ориентированное программирование: методические указания к лабораторным и самостоятельным работам по курсу «Программирование на языке С++» / А. В. Кибардин. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2006. 40 с.

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

Библиогр.: 3 назв. Табл.1

Подготовлено факультетом повышения квалификации преподавателей и профессиональной переподготовки

УДК 681.3

© ГОУ ВПО “Уральский государственный

технический университет-УПИ”, 2006

Введение

В С/С++ вводится понятие класса – тип данных, объединяющий структруры данных и обрабатывающие их функции.

Конкретные величины типа данных “класс” называются экземплярами класса или объектами.

Основными принципами объектно-ориентированного программирования (ООП) являются инкапсуляция, наследование и полиморфизм.

Инкапсуляция – это объединение в единое целое данных и процедур (алгоритмов) обработки данных. В рамках ООП данные называются полями объекта, а алгоритмы их обработки (процедуры) – методами объекта. Инкапсуляция позволяет в максимальной степени изолировать объект от “внешнего” окружения, т.е. остальной программы, так как локализованные в объектах алгоритмы обмениваются с программой сравнительно небольшими объемами данных. В результате замена или модификация алгоритмов и данных, инкапсулированных в объект, как правило, не ведет за собой плохо прослеживаемых последствий для программы в целом. Другим немаловажным следствием является возможность переноса объектов из одной программы в другую.

Наследование есть свойство объектов порождать своих потомков. Объект-потомок автоматически наследует от своего родителя все поля и методы, может дополнять объекты новыми полями и перегружать (перекрывать) методы родителя или дополнять их. Принцип наследования решает проблему модификации свойств и придает ООП исключительную гибкость. При работе с объектами программист обычно подбирает объект, наиболее подходящий по своим свойствам для решения данной задачи, и создает одного или нескольких потомков от него, которые “умеют” делать то, что не реализовано в их родителе.

Полиморфизм – это свойство родственных объектов, т.е. объектов, имеющих одного общего предка-родителя, решать схожие по смыслу проблемы разными способами. В рамках ООП возможности (свойства) объекта определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках объекта-родителя, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть (перегрузить) его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющих разные алгоритмы и, следовательно, придающих объектам разные свойства.