Теоретические основы объектно-ориентированного программирования
Применение объектно-ориентированного подхода к проектированию программных продуктов. Особенность исследования основных языков программирования. Главные характеристики продукта Delphi. Исследование масштабируемых средств для построения баз данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 03.03.2018 |
Размер файла | 96,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Один из важнейших механизмов ООП - наследование свойств в иерархии общее/частное. Наследование - такое соотношение между абстракциями, когда одна из них использует структурную или функциональную часть другой или нескольких других абстракций (соответственно простое и множественное наследование).[30]
4. Принцип полиморфизма. Объекты реагируют на одно и тоже сообщение строго специфичным для них образом.
Языковые средства объектно-ориентированного программирования
На сегодняшний день существует множество сред программирования, предусматривающих объектную модель. Самая простая объектная модель использована при разработке Borland Pascal 7.0. Она специально создавалась для облегчения перехода программистов на использование технологии ООП и не поддерживает абстракции метаклассов, почти не содержит специальных средств сокрытия реализации объектов, но даже в таком варианте позволяет создавать достаточно сложные системы. Объектные модели остальных языков являются практически полными.
В таб. 1 представлены сравнительные характеристики моделей ООП в некоторых средах программирования.
Таблица 1. Сравнительные характеристики моделей ООП в некоторых средах программирования
Характерис тики |
Среды программирования |
||||
Borland Pascal 7.0. |
Borland C++ 3.1 |
Delphi |
C++ Builder |
||
Абстракции: объекты классы |
да да |
да да |
да да |
да да |
|
Ограничение доступа: механизм сокрытия деталей реализации обеспечение интерфейса к полям объекта |
внутри модуля нет |
внутри класса и /или потомков класса нет |
внутри модуля и потомков класса да |
внутри класса и /или потомков класса да |
|
Модульность: интерфейс реализация |
да да |
да (файл - заголовок) да (файл) |
да да |
да (файл-заголовок) да (файл) |
|
Иерархичность: «целое - часть» «общее - частное» наследование |
да да простое |
да да множественное |
да да простое |
да да множест- венное |
|
Типизация: степень позднее связывание шаблоны метаклассы |
строгое да нет нет |
среднее да да нет |
строгое да нет да |
среднее да да нет |
|
Параллелизм разделение времени |
моделируется |
моделируется |
Обеспечива-ет ся Windows |
Обеспечива-ется Windows |
|
Устойчивость объектов |
определяется временем жизни переменной |
Как видно из таблицы особое место занимают объектные модели Delphi и С++Builder. Эти модели обобщают опыт ООП для MS DOS и включают некоторые новые средства, обеспечивающие эффективное создание более сложных систем. [30] На базе этих моделей созданы визуальные среды для разработки приложений Windows. Сложность программирования под Windows удалось существенно снизить за счет создания специальных библиотек объектов, «спрятавших» многие элементы техники программирования.
Краткие выводы
- Объект - это осязаемая реальность, характеризующаяся четко определяемым поведением.
- Объект - особый опознаваемый предмет, блок или сущность (реальная или абстрактная), имеющий важное функциональное назначение в данной предметной области.
Объект может быть охарактеризован структурой, состоянием объекта, его поведением и индивидуальностью.
В объектно-ориентированных языках программирования операции называют методами. Можно выделить пять типов операций:
- конструктор, создание и инициализация объекта;
- деструктор, разрушающий объект;
- модификатор, изменяющий состояние объекта;
- селектор для доступа к переменным объекта без их изменения;
- итератор для доступа к содержанию объекта по частям в определенной последовательности.
Известна и другая классификация методов объекта, когда выделяют функции управления, реализации, доступа и вспомогательные функции.
Технология программирования - это совокупность методов и средств разработки (написания) программ и порядок применения этих методов и средств.
Опыт программирования показывает, что любой методический подход в технологии программирования не должен применяться слепо с игнорированием других подходов.
Основные идеи объектно-ориентированного подхода опираются на следующие положения:
- программа представляет собой модель некоторого реального процесса, части реального мира;
- модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов;
- объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект;
- взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта;
- Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий, представляют собой класс однотипных объектов.
Мышление - высшая ступень человеческого познания, процесса отображения объективной действительности. Позволяет получать знания о таких объектах, свойствах и отношениях реального мира, которые не могут быть непосредственно восприняты на чувственной ступени познания.
ООП часто называют новой парадигмой программирования. Другие парадигмы: директивная (структурное программирование - Pascal, C++), логическая - Prolog, функциональные - Lisp, Effel. Парадигмы в программировании определяют, как проводить вычисления, как работа, выполняемая компьютером, должна быть структурирована и организована.
Новички в информатике часто могут освоить парадигму лучше, чем опытные профессионалы, так как этот способ решения задач ближе к естественному восприятию.
Характеристики ООП
1. Все является объектом.
2. Вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщения - это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
3. Каждый объект имеет независимую память, которая состоит из других объектов.
4. Каждый объект является представителем класса, который выражает общие свойства объектов.
5. В классе задается поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
6. Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанные с экземплярами определенного класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Объектно-ориентированная парадигма предлагает новый подход к разработке программного обеспечения. Фундаментальная концепция объектно-ориентированной парадигмы состоит в передаче сообщений объектам.
Таким образом, объектно-ориентированный язык должен обладать свойствами абстракции, инкапсуляции, наследования и полиморфизма.
1. Инкапсуляция с сокрытием данных - способность отличать внутреннее состояние объекта и поведение от его внешнего состояния и поведения
2. Абстракция - расширяемость типов - способность добавлять типы, определяемые пользователем для того, чтобы дополнить ими встроенные типы. Один из принципов ООП заключается в том, чтобы типы, определяемые пользователем, должны обладать теми же привилегиями, что и встроенные типы.
3. Наследование - способность создавать новые типы, повторно используя описание существующих типов.
4. Полиморфизм с динамическим (поздним) связыванием - способность объектов быть ответственными за интерпретацию вызова функции
Ключевые слова
Объект, структура, состояние и поведение объекта, пять типов операций (методов): конструктор, деструктор, модификатор, селектор, итератор, отношения между классами, объектно-ориентированный анализ, имя класса, множественность экземпляров класса, иерархия класса, структура и интерфейс класса, шаги объектно-ориентированного проектирования: выявления классов и объектов на установление уровне абстракции, определение семантики классов, определение связей между классами и объектами, реализация классов.
Технология программирования, структурное программирование, процедурное программирование, надежность программного обеспечения, канонические структуры языков программирования: операторы присваивания, циклы и разветвления, определение классов в программе, их описание экземпляры объектов, иерархическая структура объектов.
Принцип Черча, новая парадигма, принципы объектно-ориентированного подхода к решению задач, иерархическое дерево, характеристики ООП, объектно-ориентированный язык, свойства: абстракции, наследования и полиморфизма, принципы объектно-ориентированного подхода.
Вопросы для самоконтроля
1. Как Вы можете охарактеризовать понятие «объект» в объектно-ориентированном проектировании?
2. Назовите пять типов операций, именуемых в объектно-ориентированных языках методами.
3. Что предполагает объектно-ориентированный подход к проектированию программных продуктов?
4. В чем суть объектно-ориентированного анализа?
5. Укажите основные этапы объектно-ориентированного проектирования.
6. Что подразумевается под понятием «технология программирования»?
7. Какие этапы прошла технология программирования и как это отразилось на языках программирования?
8. В чем заключается сущность объектно-ориентированного подхода?
9. Назовите наиболее используемые в настоящее время объектно-ориентированные языки программирования.
10. Каковы основные характеристики продукта Delphi?
11. Что такое масштабируемые средства для построения баз данных?
12. Для кого предназначен Delphi?
13.Что такое библиотека визуальных компонентов?
Рекомендуемая литература
1. Архангельский А. Программирование в Delphi 7. - М.: ООО «Бином - Пресс», 2004. -1152с.
2. Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Бином · 1998.
3. Джон Влиссидес, Эрих Гамма, Ричард Хелм, Ральф Джонсон. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - Питер. 2003. - 256 с.
4. Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование. - М.: Изд. МГТУ имени Н.Э. Баумана. 2003.- 320с.
5. Кьоу Дж., Джеанини М.Объектно-ориентированное программирование. Просто и понятно. ? М.: Питер, 2005. -403с.
6. Лесневский А.С. Объектно-ориентированное программирование для начинающих. - М.: Бином. Лаборатория знаний. 2005. - 382 с.
7. Синтес Антони. Освой самостоятельно объектно-ориентированное программирование за 21 день. Просто и понятно? М.: Вильямс. 2002. -284с.
Размещено на Allbest.ru
...Подобные документы
Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.
курсовая работа [275,9 K], добавлен 22.12.2011Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.
курсовая работа [2,6 M], добавлен 17.11.2014Применение объектно-ориентированного программирования для написания нескольких модулей программы. Вычисление алгебраического уравнения методом половинного деления. Применение метода Эйлера в теории численных методов общих дифференциальных уравнений.
курсовая работа [398,1 K], добавлен 26.02.2015Анализ объектно-ориентированного программирования, имитирующего способы выполнения предметов. Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Понятие классов, полей, методов, сообщений, событий.
контрольная работа [51,7 K], добавлен 22.01.2013Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.
курсовая работа [40,8 K], добавлен 15.07.2009Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.
курсовая работа [782,4 K], добавлен 26.05.2014Общая характеристика объектно-ориентированного подхода в программировании, его основные свойства и принципы. Разработка программы для автоматизация деятельности кафе на основе объектно-ориентированного подхода, проектирования и реализации схемы данных.
курсовая работа [1,2 M], добавлен 22.01.2012Анализ проблематики построения объектно-ориентированного канала связи. Основные понятия протокола Modbus. Возможности CodeSys для реализации объектно-ориентированного подхода. Разработка методики кроссплатформенной библиотеки для интеграции устройств.
курсовая работа [38,6 K], добавлен 15.06.2013История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.
курсовая работа [970,5 K], добавлен 15.05.2014Особенности реализации главных элементов разрабатываемой программы (цифровые элементы) с помощью объектно-ориентированного подхода. Применение принципа инкапсуляции для защиты данных. Конструирование классов, описание и тестирование программного продукта.
курсовая работа [2,3 M], добавлен 10.05.2015История развития языков программирования; создание и распространение языка С++; новый подход к разработке объектно-ориентированного программного обеспечения. Применение моделирования предметных областей для структуризации их информационных отражений.
реферат [29,1 K], добавлен 06.12.2010Разработка приложения "Калькулятор с переходом в строковый калькулятор" с применением объектно-ориентированного программирования. Концепция и понятия объектно-ориентированного программирования. Язык программирования Java. Листинг программы "Калькулятор".
курсовая работа [966,9 K], добавлен 11.02.2016Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.
курсовая работа [261,1 K], добавлен 25.03.2015Анализ методов объектно-ориентированного программирования на примере численных. Детальная характеристика модулей и связь их в одну общую программу. Принципы интегрирования по общей формуле трапеции и решение дифференциального уравнения методом Эйлера.
курсовая работа [511,6 K], добавлен 25.03.2015Основные операции с АВЛ-деревьями, добавление и удаление элемента из сбалансированного дерева. Эффективность сортировки вставкой в АВЛ–дерево и итераторы. Алгоритм реализации АВЛ–деревьев через классы объектно–ориентированного программирования.
курсовая работа [281,1 K], добавлен 29.11.2010Технологии программирования. Сущность объектно-ориентированного подхода к программированию. Назначение Си, исторические сведения. Алфавит, базовые типы и описание данных. Структуры и объединения. Операторы Си++. Функции. Библиотека времени выполнения.
курс лекций [51,9 K], добавлен 03.10.2008Рассмотрение теории и технологии работы со средой программирования Delphi. Описание Описание интерфейса программы, структуры данных, генерации точек. Разработка задания по выявлению всех квадратов, которые могут быть образованы точками на плоскости.
реферат [21,0 K], добавлен 13.01.2015Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Развитие и классификация языков программирования. Методические рекомендации по изучению языков программирования. Основные понятия объектно-ориентированного программирования. Создание электронного учебного пособия с помощью языка гипертекстовой разметки.
курсовая работа [331,1 K], добавлен 06.09.2011