Слайд 1Лекция №1 по дисциплине
«Объектно-ориентированное
программирование» на тему:
Происхождение и история
объектно-ориентированного программирования.
Классы и объекты в действительности и в программах
Слайд 2Дисциплины, на которых базируется
«Объектно-ориентированное программирование»
Алгоритмизация и программирование
1-й семестр
Слайд 3Дисциплины, связанные с «Объектно-ориентированным программированием»
Кросс-платформенное программирование
3-й семестр
Web-технологии и Web-дизайн
3-й
и 4-й семестры
Internet-технологии и язык программирования Java (ІТМП)
5-й семестр
Визуальные языки
и среды разработки приложений
7-й семестр
Слайд 4Преподаватель
дисциплины «Объектно-ориентированное программирование»
Макрушан Ирина Анатольевна
Ассистент кафедры ИУС
Слайд 5Структура дисциплины
«Объектно-ориентированное программирование»
Слайд 6Цели дисциплины
После изучения дисциплины студенты должны:
Знать:
Общие принципы объектно-ориентированного программирования;
Реализацию объектной
модели в языке программирования С++;
Средства обобщенного программирования: классы и шаблоны
Уметь:
Составлять
объектные программы на языке С++;
Эффективно использовать возможности языка С++ в программах;
Пользоваться стандартной библиотекой С++
Быть ознакомленными:
С особенностями объектной модели в других языках программирования;
С основами объектно-ориентированного проектирования
Слайд 7Краткое содержание дисциплины
Классы и объекты. Поля и методы. Конструкторы
Дружественные функции.
Перегрузка операторов
Производные классы
Виртуальные функции. Полиморфизм
Обработка исключений
Множественное наследование
Шаблоны функций
Средства ввода-вывода
Обзор особенностей
языка Java
Особенности объектной модели в языке С#
Слайд 8Основная литература
Х. Дейтел, П.Дейтел. Как программировать на С++. 3-е издание.
М.: «Бином-Пресс», 2006.- 1168 с.
П.Франка. С++. Учебный курс. СПб.: «Питер»,
2006.
С.Прата. Язык программирования С++. Лекции и упражнения. 5-е издание. М.,СПб., К. 2007.
С.Липпман и др. Язык программирования С++. Вводный курс. 4-е издание. М.: «Вильямс», 2007.
Слайд 9Дополнительная литература
С.Гилберт, Б.Маккарти. Самоучитель Visual С++ в примерах. М.: 2003.
Б.Пахомов.
Borland С++ Builder для начинающих. 2005.
Ч.Калверт, К.Рейсдорф. Borland С++ Builder.
Энциклопедия программиста. М., 2005.
Г.Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е издание. М.: «Бином», 2001.- 506 с.
Б.Страуструп. Язык программирования С++. М.: «Бином», 2001.- 1099 с.
У. Савитч. Язык Java. Курс программирования. 2-е издание. М.: «Вильямс», 2002.- 928 с.
Слайд 11Сложность программного обеспечения
Сложность ПО вызывается следующими причинами:
Сложность реального мира
2. Трудность управления процессом разработки
Сопровождение ПО – устранение ошибок в
ходе эксплуатации.
Эволюция ПО – внесение изменений в ответ на изменившиеся требования.
Сохранение ПО – поддержание работоспособности разрушающейся системы.
Слайд 12Признаки сложной системы
Сложные системы являются иерархическими и состоят из
подсистем, которые тоже могут быть разделены на подсистемы.
2. Выбор, какие
компоненты системы считаются простейшими, зависит от разработчика
Слайд 13Признаки сложной системы
3. Сложные системы обычно состоят из немногих
типов подсистем, но по-разному скомбинированных и организованных.
4. Любая работающая сложная
система является развитием работавшей более простой системы
Слайд 14Алгоритмическая декомпозиция
Это разделение системы на подсистемы и алгоритмы, где каждый
модуль выполняет один из этапов
Слайд 15Объектно-ориентированная декомпозиция
Критерий объектно-ориентированной декомпозиции – принадлежность элементов к различным абстракциям
предметной области
Объект 1
Объект 2
Объект 3
Объект 4
Слайд 16Преимущества объектной декомпозиции
1. Уменьшается размер программных систем за счет
повторного использования кода.
2. Объектно-ориентированные системы более гибки и проще эволюционируют
Объектно-ориентированное проектирование – это методология проектирования, основанная на процессе объектной декомпозиции системы
Слайд 17История программирования
Программирование в машинных кодах
Процедурные языки программирования (FORTRAN, ALGOL)
Структурное программирование
Объектно-ориентированное программирование
Слайд 18Объектно-ориентированное программирование
Это методология программирования, основанная на представлении программы в виде
совокупности объектов, каждый из которых является экземпляром определенного класса, а
классы образуют иерархию наследования
Языки: Simula-67 (впервые введено понятие объекта), Smalltalk-72, 74, 76. Затем объектные концепции перекочевали и в языки высокого уровня, что привело к возникновению Object Pascal, C++, Ада и др. (70-80 годы)