Введение в специальность

Вид материалаДокументы

Содержание


Пояснительная записка
Содержание дисциплины
Раздел 1. Классы и ОБЪЕКТЫ
Раздел 2. Наследование
Раздел 3. Виртуальные функции
Раздел 4. Расширенные возможности
Раздел 5. Исключительные ситуации
Раздел 6. Шаблоны
Раздел 7. интерфейсы
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   14

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



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

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

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

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

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

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

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

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

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

– АСОИ ­– 121 учебный час (примерное распределение по видам занятий: лекций – 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.