Республики Беларусь «24»

Вид материалаПояснительная записка

Содержание


Объектно-ориентированное программирование
М.Л. Селингер
К.А. Сурков
К.В. Плюгачев
Г.П. Апарин
П.Н. Бибило
А.А. Дудкин
Кафедра программного обеспечения вычислительной техники и автоматизированных систем
Содержание дисциплины
Раздел 1. Классы и ОБЪЕКТЫ
Раздел 2. Наследование
Раздел 3. Виртуальные функции
Раздел 4. Расширенные возможности
Раздел 5. Исключительные ситуации
Раздел 6. Шаблоны
Раздел 7. интерфейсы
Подобный материал:
1   ...   11   12   13   14   15   16   17   18   19

Утверждаю


Председатель УМО вузов Республики

Беларусь по образованию в области

информатики и радиоэлектроники

« 03 » июня 2003 г.


Регистрационный № ТД-40-059/тип


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



Учебная программа для высших учебных заведений по специальностям

I-53 01 02 Автоматизированные системы обработки информации,

I-40 01 01 Программное обеспечение информационных технологий

I-40 02 01 Вычислительные машины, системы и сети


Согласовано:

Учебно-методическое управление БГУИР

« 28 » мая 2003 г.


Составители:

М.П. Ревотюк, доцент кафедры информационных технологий автоматизированных систем Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», кандидат технических наук;

М.Л. Селингер, ассистент кафедры электронных вычислительных машин Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники»;

К.А. Сурков, доцент кафедры программного обеспечения информационных технологий Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники»


Рецензенты:

Б.М. Киселев, доцент кафедры информационных процессов и технологий Учреждения образования «Белорусский аграрный технический университет», кандидат технических наук;

К.В. Плюгачев, заведующий кафедрой робототехнических систем Учреждения образования «Белорусская государственная политехническая академия», доцент, кандидат технических наук;

Г.П. Апарин, ведущий научный сотрудник лаборатории обработки и распознавания изображений Института технической кибернетики Национальной академии наук Беларуси, кандидат технических наук;

П.Н. Бибило, заведующий лабораторией логического проектирования Института технической кибернетики Национальной академии наук Беларуси, профессор, доктор технических наук;

А.А. Дудкин, ведущий научный сотрудник лаборатории идентификации систем Института технической кибернетики Национальной академии наук Беларуси, кандидат технических наук;

Кафедра программного обеспечения вычислительной техники и автоматизированных систем Учреждения образования «Белорусский национальный технический университет» (протокол № 15 от 06.05.2002 г.);

Кафедра электронных вычислительных машин и систем Учреждения образования «Брестский государственный технический университет» (протокол № 7 от 18.06.2002 г.)


Рекомендована к утверждению в качестве типовой:

Кафедрой информационных технологий автоматизированных систем Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 11 от 04.02.2002 г.);

Кафедрой электронных вычислительных машин Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 26 от 25.02.2002 г.);

Кафедрой Программного обеспечения информационных технологий Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 16 от 18.03.2002 г.);


Научно-методическим советом по направлению 1-53 Автоматизация УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 1 от 11.02.2002 г.);

Научно-методическим советом по направлению 1-40 Вычислительная техника УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 2 от 20.06.2002 г., протокол № 3 от 02.07.2002 г.)


Разработана на основании Образовательного стандарта РД РБ 02100.5.113-98

Разработана на основании Образовательного стандарта РД РБ 02100.5.112-98

Разработана на основании Образовательного стандарта РД РБ 02100.5.111-98


Ответственный за редакцию: Т.Н. Крюкова

Ответственный за выпуск: Ц.С. Шикова

Пояснительная записка


Типовая программа дисциплины «Объектно-ориентированное программирование» разработана в соответствии с Образовательным стандартом РД РБ 0211оо.5.105-98 для специальностей 1-53 01 02 Автоматизированные системы обработки информации (АСОИ), 1-40 01 01 Программное обеспечение информационных технологий (ПОИТ) и 1-40 02 01 Вычислительные машины, системы и сети (ВМСиС) высших учебных заведений для студентов, получивших базовые знания в области процедурных языков программирования.

Целью преподавания дисциплины является обучение студентов современным методам и средствам программирования, основным принципам объектно-ориентированного проектирования программной продукции.

В результате освоения материала курса студент должен:

– знать основные теоретические понятия ООП, механизмы реализации объектно-ориентированного подхода, достоинства и недостатки объектной технологии программирования, тенденции и перспективы развития объектно-ориентированного подхода в программировании;

– уметь выбирать методы и средства для реализации программных проектов с использованием технологии ООП;

– уметь анализировать предметную область решаемых задач с целью использования объектно-ориентированного подхода для их реализации;

– приобрести практические навыки объектно-ориентированного анализа предметной области и разработки программ с использованием ООП.

Язык программирования, в контексте которого читается дисциплина, зависит от специальности: АСОИ – С++; ПОИТ – Delphi, С++; ВМСиС – Java, Perl.

Программа составлена в соответствии с требованиями общеобразовательного стандарта и рассчитана на следующий объем:

– АСОИ ­– 104 учебных часа (примерное распределение учебных часов по видам занятий: лекций – 72 часа, лабораторных работ – 32 часа, практических занятий – 17 часов);

– ПОИТ ­– 85 учебных часов (примерное распределение учебных часов по видам занятий: лекций – 51 час, лабораторных работ – 17 часов, практических занятий – 17 часов);

– ВМСиС ­– 85 учебных часов (примерное распределение учебных часов по видам занятий: лекций – 51 час, лабораторных работ – 17 часов, практических занятий – 17 часов, курсовая работа);


Содержание дисциплины

Введение



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


Раздел 1. Классы и ОБЪЕКТЫ


Понятие класса. Создание объектов класса. Конструкторы и деструкторы. Методы и данные. Управление доступом к членам класса. Агрегация объектов. Неявный указатель объекта на себя.


Раздел 2. Наследование


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


Раздел 3. Виртуальные функции


Понятие виртуальной функции. Механизм вызова виртуальных функций. Абстрактные классы. Виртуальные деструкторы. Проявление полиморфности объектов.


Раздел 4. Расширенные возможности

некоторых языков


Дружественные функции. Перегрузка операций. Множественное наследование. Указатели на методы объектов. Виртуальные конструкторы. Библиотеки классов. Визуальные системы программирования. Понятие класса-компонента.


Раздел 5. Исключительные ситуации


Понятие ошибки и исключительной ситуации. Классы исключительных ситуаций. Создание исключительной ситуации. Распознавание класса исключительной ситуации. Обработка исключительной ситуации. Возобновление исключительной ситуации. Доступ к объекту, описывающему исключительную ситуацию. Защищенные блоки и их применение для защиты от утечки ресурсов.


Раздел 6. Шаблоны


Введение. Шаблоны функций. Перегрузка шаблонных функций. Шаблоны классов. Шаблоны классов и нетиповые параметры. Шаблоны и наследование.


Раздел 7. интерфейсы


Понятие интерфейса. Описание интерфейса. Иерархия наследования интерфейсов. Глобально-уникальная идентификация интерфейса. Реализация интерфейса классом. Совместимость классов и интерфейсов по типу.


примерный перечень тем лабораторных работ


АСОИ:
  1. Расширение возможностей языка С в языке С++.
  2. Программирование в терминах классов.
  3. Манипулирование объектами классов.
  4. Производные и абстрактные классы.
  5. Техника работы с библиотеками классов.
  6. Объектно-ориентированный ввод-вывод.
  7. Использование шаблонов функций и классов.
  8. Обработка исключений в С++.

ПОИТ:
  1. Реализация базовых объектов при помощи классов.
  2. Реализация множественного наследования.
  3. Работа с потоками ввода-вывода. Реализация манипуляторов и перегрузка операторов.
  4. Использование шаблонов функций и классов (STL).

ВМСиС
  1. Разработка простого апплета и приложения на Java.
  2. Реализация иерархии классов и интерфесов.
  3. Создание простейшего CGI скрипта на Perl.
  4. Работа с СУБД MySQL из CGI скрипта Perl.


примерный перечень тем курсовых работ

  1. Создание пользовательского интерфейса для систем, работающих в графическом режиме
  2. Разработка графических и текстовых редакторов
  3. Разработка диалоговых обучающих программ
  4. Реализация игровых программ
  5. Разработка библиотеки базовых классов
  6. Программирование в среде Интернет


примерный перечень компьютерных программ


ВМСиС:
  1. Компьютерный класс
  2. Операционная система Microsoft Windows (2000 или ХР)
  3. Язык программирования Java (Java SDK)
  4. Язык программирования ActiveState Perl
  5. СУБД MySQL

ПОИТ:
  1. Компьютерный класс
  2. Операционная система Microsoft Windows (2000 или ХР)
  3. Система программирования Borland Delphi
  4. Система программирования MS Visual Studio

АСОИ:
  1. Компьютерный класс
  2. Операционная система Microsoft Windows (2000 или ХР)
  3. Система программирования MS Visual Studio



Литература



1. Холзнер С. Perl: специальный справочник. – СПб.: Питер, 2001.

2. Кристиансен Т., Торкингтон Н Perl: библиотека программиста. – СПб.: Питер, 2001.

3. Дейтел Х. М., Дейтел П. Дж. Как программировать на Perl. – М.: Бином, 2002.

4. Чен М. С., Грифис С. В., Изи Э. Ф.. Программирование на Java. – Мн.: Попурри, 1997.

5. Дейтел Х. М., Дейтел П. Дж. Как программировать на Java. – М.: Бином, 2002.

6. Дюбуа П. MySQL. – М.: Вильямс, 2001.

7. Паттерсон и др. Использование HTML. – М.: Вильямс, 2001.

8. Страуструп Б. Язык программирования С++, 3 изд. Пер. с англ. - СПб.: «Бином», 1999.

9. Дейтел Х. М., Дейтел П. Дж. Как программировать на С++. – М.: Бином, 2002.

10. Эллис М., Страуструп Б. Справочное руководство по языку программирования С++ с комментариями. Пер с англ. М.: Мир, 1992.

11. Буч Г. Объектно-ориентированное проектирование с примерами применения. Пер. с англ. – М.: Конкорд, 1992.

12. Ревотюк М.П. Объектно-ориентированное программирование на языке С++. Ч. 1. Переход от языка С к С++. – Мн.: МРТИ, 1994.

13. Ревотюк М.П. Объектно-ориентированное программирование на языке С++. Ч. 2. Технология объектно-ориентированного программирования. – Мн.: БГУИР, 1997.

14. Сурков К.А., Сурков Д.А., Вальвачев А.Н. Программирование в среде Delphi 2.0. — Мн.: ООО «Попурри», 1997.

15. Сурков Д.А., Сурков К.А., Вальвачев А.Н. Программирование в среде C++Builder. — Мн.: ООО «Попурри», 1998.