Теоретические основы объектно-ориентированного программирования

Применение объектно-ориентированного подхода к проектированию программных продуктов. Особенность исследования основных языков программирования. Главные характеристики продукта 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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.