Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по лабораторным работам.DOC
Скачиваний:
61
Добавлен:
02.05.2014
Размер:
206.34 Кб
Скачать

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

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра автоматизации проектирования информационных систем

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

Лабораторный практикум

по дисциплине “Технология программирования”

Уфа 2007

Составители: В.Н. Мукасеева, В.В. Стоянов

Объектно-ориентированное программирование: Лабораторный практикум по дисциплине “Технология программирования”./Уфимск. гос. авиац. техн. ун-т; Сост.: В.Н. Мукасеева, В.В. Стоянов. - Уфа, 2007 - 29 с.

Содержатся сведения, касающиеся разработке классов на языке С++. Цикл лабораторных работ посвещен технологии объектно-ориентированного программирования на языке C++ в интегрированной среде разработки фирмы Microsoft Visual Studio v.6 – v.8. Изложены некоторые теоретические сведения, примеры проектирования классов и задания. Содержание лабораторных работ соответствует рабочей программе курса "Технология программирования".

Лабораторный практикум предназначен для студентов, обучающихся по направлению 230100 – Информатика и вычислительная техника, специальностей 230101 – Вычислительные машины, комплексу, системы и сети, 230104 – Системы автоматизированного проектирования.

Библиогр.: 2 назв.

Рецензенты:

© Уфимский государственный авиационный технический университет, 2007

Содержание

1. Введение

2. Лабораторная работа N 1. Разработка класса строка

3. Лабораторная работа N 2. Разработка класса вектор

4. Лабораторная работа N 3. Разработка шаблонного класса вектор

5. Лабораторная работа N 4. Разработка шаблонного класса очередь

6. Лабораторная работа N 5. Изучение потоков ввода вывода

Введение

Цикл лабораторных работ посвящен технологии объектно-ориентированного программирования на языке C++ в интегрированной среде Microsoft Visual Studio.

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

  • абстракции данных

  • инкапсуляции

  • наследовании

  • полиморфизме.

Язык С++ поддерживает все перечисленные объектные свойства.

Абстракция данных позволяет программисту сосредоточиться на решении проблем стоящих перед ним, в значительной степени игнорируя детали и частности. Возможность создания пользовательских типов, обладающих нужными свойствами, операции с которыми синтаксически не отличаются от операций со стандартными типами, скрывает от программиста детали позволяя сосредоточиться на реализации алгоритма в целом.

Инкапсуляция - сокрытие данных, характерное для модульного программирования, поддерживается на уровне классов с помощью спецификации уровней доступа: public, protected, private . Программист, создавая класс, определяет тем самым новый тип данных и набор функций для манипулирования этими данными. Функции члены класса имеют полный доступ к данным членам класса, а все остальные могут иметь доступ только к общим (public) данным. Извне класса его частные (private) данные доступны только с помощью общих (public) функций членов класса составляющих интерфейс класса. Данные и функции объявленные в защищенной секции (protected) являются доступными только для производных классов. Разумное использование возможностей предоставляемых по сокрытию данных позволяет строить легко отлаживаемые и просто модифицируемые программы. К сожалению следование этим принципам является добровольным, язык С++ не диктует никаких условий по сокрытию данных хотя и жестко контролирует нарушение прав доступа, программист должен сам заботиться о защите данных. Хорошо спроектированные классы, с продуманными уровнями доступа к данным и функциям, упрощают программирование, отладку и сопровождение программы.

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

Полиморфизм означает способность объектов выбирать внутреннюю процедуру обработки исходя из полученного типа данных.

C++ стал фактическим стандартом для промышленной разработки разнообразного программного обеспечения и является наиболее употребимым языком общего назначения. Наличие прекрасных библиотек классов, таких как STL, ATL, MFC, WTL и ряда других, менее известных, многократно усиливает выразительность и возможности проектирования.

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

Лабораторная работа N 1.