Файл: История и развитие методологии объектно-ориентированного программирования.Сферы применения.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 47

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

Object Pascal

Object Pascal - это объектно-ориентированное расширение Паскаля, разработанное Н. Виртом совместно с командой с фирмы Apple. Классы (типы) реализованы как расширение паскалевской структуры RECORD. В Object Pascal они могут содержать как поля данных, так и поля методов.

Методы определяются как процедуры или функции Паскаля, определяемые по имени класса. Сообщения посылаются с помощью обычных конструкций Паскаля для определения поля. Object Pascal использовался для внутренних разработок фирмы Apple. Библиотека классов Object Pascal составляет основу интегрированной системы разработки прикладных программ MacApp.

Вывод: Объектно-ориентированные системы (ООС), инструментарии и методологии, поддерживающие технологию объектно-ориентированного программирования, пользуются огромной популярностью в мире.

Практически все объектно-ориентированные языки программирования являются развивающимися языками, их стандарты регулярно уточняются и расширяются. Следствием этого развития являются неизбежные различия во входных языках компиляторов различных систем программирования.

3. Сферы применения объектно-ориентированного программирования

Говоря о программировании в Интернете, часто имеют в виду создание публикаций с использованием языка разметки гипертекстовых документов — HTML. Применение специальных средств (HTML-редакторов) позволяет не только создавать отдельные динамически изменяющиеся интерактивные HTML-документы, используя при этом данные мультимедиа, но и редактировать целые сайты.

Когда необходимо создать большую программную систему или составить программы для решения какой- либо частной задачи, в том числе при создании компьютерных игр, встает вопрос, какой выбрать для этой цели подходящий язык программирования. Такой выбор делается на основании очень простых «земных» факторов: наличии того или иного транслятора и умения писать программы на данном языке. Но если в распоряжении пользователя несколько языков программирования и нужно создать, например, игру для мобильного, то необходимо учитывать следующие обстоятельства:


  • назначение разрабатываемого программного обеспечения, т.е. необходимость в нем будет временная или оно будет использоваться постоянно, будет ли оно в дальнейшем передаваться другим организациям, будут ли создаваться его новые версии;
  • необходимая скорость работы программного обеспечения, соотношение и работа его вычислительных и диалоговых компонентов;
  • предполагаемый размер программы, т.е. создавать ее как единое целое, или она будет в виде отдельных взаимодействующих модулей, нужно ли минимизировать размер памяти, которую занимает программа во время работы;
  • возможность сопряжения разрабатываемого программного обеспечения с другими приложениями (пакетами или программами), включая приложения, составленные на иных языках программирования;
  • основные типы данных, которыми придется оперировать, возможность поддержки работы с различными типами структур;
  • характер и уровень использования периферийных средств (монитора, клавиатуры и др.), необходимость в специальном программировании некоторых функций, чтобы работать с периферийными устройствами;
  • целесообразность и возможность применения имеющихся стандартных библиотек подпрограмм, процедур, функций.[47]

На основании сказанного можно сделать первые общие выводы. Традиционно процедурное программное обеспечение рассматривалось как средство заставить компьютер решить конкретную задачу. В результате программа, решающая поставленную задачу, оказывалась совершенно непригодной для решения других задач, даже если в задачах использовались те же самые данные. При объектно-ориентированном подходе к созданию программного обеспечения, решение собирается из уже существующих или специально создаваемых объектов.

Технология программирования с объектами сохраняет дух построения объектов реального физического мира. Проект объектно-ориентированной системы начинается не с задачи, которую надо решить, а с анализа тех характеристик реального мира, которые должны присутствовать в программной модели, чтобы справиться с поставленной задачей. Как только такие характеристики и их носители — объекты представлены, модель может использовать их для решения первоначальной задачи, но созданные объекты часто полезны и при решении многих других задач.

Помимо гибкости объектно-ориентированный подход к построению систем программного обеспечения имеет много других преимуществ. Поскольку структура программного обеспечения отражает реальный мир, он позволяет размышлять о задаче в терминах реально существующих объектов системы, а не в терминах языка программирования. Такое изменение процесса мышления становится возможным, так как теперь можно определять новые типы данных, описывая с их помощью реальные объекты. В будущем программистам будет много легче понять и изменить построенные таким образом программы, даже если и не они их создавали. C другой стороны, основные операции, заложенные в программное обеспечение, имеют тенденцию изменяться намного медленнее, чем информационные потребности определенных групп людей или учреждений. Это означает, что программное обеспечение, основанное на общих моделях будет существовать и успешно работать намного дольше, чем то, которое написано для решения определенной, сиюминутной проблемы.[48]


Следовательно, при объектно-ориентированном подходе к решению задачи процесс построения программного обеспечения должен быть совершенно другим. Обычное процедурное программное обеспечение всегда пишется «от печки», с самого начала. Из более ранних программ, решающих точно обозначенные проблемы, повторно используется не так уж и много процедур, так как легче написать похожие процедуры заново, чем преобразовывать уже существующие. Объекты, в противоположность предыдущему, являются строительными блоками «общего назначения», которые моделируют существующие в реальном мире сущности, а не просто решают конкретные задачи. Это дает возможность их повторно использовать в последующих проектах, даже если цели новых проектов весьма далеки от первоначальных. Когда собрано большое число классов, усилия по созданию программного обеспечения начинают сдвигаться от создания новых классов к сборке нужных объектов из существующих. Совершенно понятно, что такое решение проще изменять и сопровождать, приспосабливая к повседневным требованиям. И, наконец, еще один важный момент: обширное повторное использование существующих отлаженных объектов не только сокращает сроки создания, но и ведет к более правильным, свободным от ошибок системам.

ЗАКЛЮЧЕНИЕ

Появление парадигмы ООП обусловливалось необходимостью решения возникающих проблем при построении сложных программных систем. Наиболее важными событиями, связанными с историей ООП считаются появление языка «Симула», содержащего базовые аспекты ООП, а также возникновение языка Smalltalk — первого объектно-ориентированного языка программирования.

Основными понятиями ООП являются: класс, объект, метод, свойство, поле, наследование, полиморфизм, инкапсуляция, права доступа.

Основными свойствами объектно-ориентированного языка программирования являются: наследование, полиморфизм, инкапсуляция. Современное программирование базируется не только на идеях ООП, но и на применении паттернов проектирования, аккумулирующих наиболее удачные решения типичных проблем, неоднократно возникавших при разработке ПО.

ООП позволяет писать гибкие, расширяемые и читабельные программы. Во многом это обеспечивается благодаря полиморфизму, под которым понимается возможность во время выполнения программы с помощью одного и того же имени выполнять разные действия или обращаться к объектам разного типа. Чаще всего понятие полиморфизма связывают с механизмом виртуальных методов. Подводя итог сказанному, сформулирую достоинства ООП:


  • использование при программировании понятий, близких к предметной области;
  • возможность успешно управлять большими объемами исходного кода благодаря инкапсуляции, то есть скрытию деталей реализации объектов и упрощению структуры программы;
  • возможность многократного использования кода за счет наследования;
  • сравнительно простая возможность модификации программ;
  • возможность создания и использования библиотек объектов.

Эти преимущества особенно явно проявляются при разработке программ большого объема и классов программ. Однако ничто не дается даром: создание объектно-ориентированной программы представляет собой весьма непростую задачу, поскольку требует разработки иерархии объектов, а плохо спроектированная иерархия может свести к нулю все преимущества объектно-ориентированного подхода.

Кроме того, идеи ООП не просты для понимания и в особенности для практического применения. Чтобы эффективно использовать готовые объекты из библиотек, необходимо освоить большой объем достаточно сложной информации. Неграмотное же применение ООП способно привести к созданию излишне сложных программ, которые невозможно отлаживать и усовершенствовать.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Бертран М. Основы объектно-ориентированного программирования [Электронный ресурс] / Бертран М. — Электронное издательство «Интернет-университет информационных технологий — ИНТУИТ.ру», 2005 г.
  2. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Научно-популярное издание. — Пер. С. Маккавеева. — СПб.: Символ-Плюс, 2010 — 608 с.
  3. Буч Г., Максимчук Р. А., Энгл М. У., Янг Б. Дж., Коналлен Д., Хьюстон К. А. Объектно-ориентированный анализ и проектирование с примерами приложений [Текст] / Г. Буч, Р. А. Максимчук, М. У. Энгл, Б. Дж. Янг, Д. Коналлен, К. А. Хьюстон. — 3-е изд. — М.: ООО «И. Д. Вильямс», 2008. — 720 с.
  4. Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. - М.: АО "Центр ЮрИнфоР", 2001. - 276 с.
  5. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.
  6. Кирютенко Ю. А., Савельев В. А. Объектно-ориентированное программирование: Язык Smalltalk — Москва: «Вузовская книга», 2003. — 358 с.
  7. Лаптев В. В. С++. Объектно-ориентированное программирование: Учебное пособие [Текст] / В. В. Лаптев. — СПб.: Питер. 2008. — 464 с.
  8. Лафоре Р. Объектно-ориентированное программирование в C++ [Текст] / Р. Лафоре. — 4-е изд. — СПб.: Питер, 2004. — 928 с.
  9. Медведев В. И. Особенности объектно-ориентированного программирования на C++/CLI, C# и Java. [Текст] / В. И. Медведев. — 2-е изд., испр. и доп. — Казань: РИЦ «Школа», 2010. — 444 c.
  10. Павловская Т. А., Щупак Ю. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум [Текст] / Т. А. Павловская, Ю. А. Щупак. — СПб.: Питер, 2011. — 352 с.
  11. Паронджанов В. Д. Как улучшить работу ума: Алгоритмы без программистов — это очень просто! — М.: Дело, 2001 – 360 с.
  12. Программирование. ООП в Pascal-Паскаль [Электронный ресурс] // Pascal-Паскаль: Исходники Программирование Pascal-Паскаль. — URL: http://www.pascal.helpov.net/index/object-oriented_programming_pascal_programming#pascal-oop_8 (дата обращения: 15.10.2017).
  13. Радченко Г.И. Объектно-ориентированное программирование / Г.И. Радченко, Е.А. Захаров. Челябинск: Издательский центр ЮУрГУ, 2013. - 167 с.
  14. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — 672 с.
  15. Страуструп, Б. Язык программирования С++. Специальное издание. Пер. с англ. / Б. Страуструп // СПб., М.: «Невский диалект» – «Издательство БИНОМ», 2008 г. – 1104 с.
  16. Фленов М. Е. Библия Delphi [Текст] / М. Е. Фленов. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 688 с.
  17. Хорев П.Б. Объектно-ориентированное программирование. Учебное пособие для студ. учреждений высш. проф. образования. — 3-е изд., испр. — М.: Академия, 2011. — 448 с.
  18. Borland Pascal. Руководство пользователя: Глава 9. Объектно-ориентированное программирование [Электронный ресурс] // Библиотека on-line. — URL: http://citforum.ru/programming/bp70_ug/bp70ug_09.shtml (дата обращения: 14.10.2017).

  1. 1. Лафоре Р. Объектно-ориентированное программирование в C++ [Текст] / Р. Лафоре. — 4-е изд. — СПб.: Питер, 2004. С.5

  2. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Научно-популярное издание. — Пер. С. Маккавеева. — СПб.: Символ-Плюс, 2010 . С.46

  3. Паронджанов В. Д. Как улучшить работу ума: Алгоритмы без программистов — это очень просто! — М.: Дело, 2001. С.25

  4. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  5. Хорев П.Б. Объектно-ориентированное программирование. Учебное пособие для студ. учреждений высш. проф. образования. — 3-е изд., испр. — М.: Академия, 2011. С.5

  6. Бьянкуцци Ф., Уорден Ш. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Научно-популярное издание. — Пер. С. Маккавеева. — СПб.: Символ-Плюс, 2010 . С.54

  7. Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. - М.: АО "Центр ЮрИнфоР", 2001. С.120

  8. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. С.330

  9. Хорев П.Б. Объектно-ориентированное программирование. Учебное пособие для студ. учреждений высш. проф. образования. — 3-е изд., испр. — М.: Академия, 2011. С.3

  10. Хорев П.Б. Объектно-ориентированное программирование. Учебное пособие для студ. учреждений высш. проф. образования. — 3-е изд., испр. — М.: Академия, 2011. С.10

  11. Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. - М.: АО "Центр ЮрИнфоР", 2001. С.114

  12. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. С.112

  13. Хорев П.Б. Объектно-ориентированное программирование. Учебное пособие для студ. учреждений высш. проф. образования. — 3-е изд., испр. — М.: Академия, 2011.С.15

  14. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  15. Паронджанов В. Д. Как улучшить работу ума: Алгоритмы без программистов — это очень просто! — М.: Дело, 2001. С.40

  16. Хорев П.Б. Объектно-ориентированное программирование. Учебное пособие для студ. учреждений высш. проф. образования. — 3-е изд., испр. — М.: Академия, 2011. С.120

  17. Фленов М. Е. Библия Delphi [Текст] / М. Е. Фленов. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. С.11

  18. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  19. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  20. Программирование. ООП в Pascal-Паскаль [Электронный ресурс] // Pascal-Паскаль: Исходники Программирование Pascal-Паскаль. — URL: http://www.pascal.helpov.net/index/object-oriented_programming_pascal_programming#pascal-oop_8 (дата обращения: 15.10.2017).

  21. Фленов М. Е. Библия Delphi [Текст] / М. Е. Фленов. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. С.43

  22. Borland Pascal. Руководство пользователя: Глава 9. Объектно-ориентированное программирование [Электронный ресурс] // Библиотека on-line. — URL: http://citforum.ru/programming/bp70_ug/bp70ug_09.shtml (дата обращения: 15.10.2017).

  23. Павловская Т. А., Щупак Ю. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум [Текст] / Т. А. Павловская, Ю. А. Щупак. — СПб.: Питер, 2011. — 352 с.

  24. Программирование. ООП в Pascal-Паскаль [Электронный ресурс] // Pascal-Паскаль: Исходники Программирование Pascal-Паскаль. — URL: http://www.pascal.helpov.net/index/object-oriented_programming_pascal_programming#pascal-oop_8 (дата обращения: 15.10.2017).

  25. Фленов М. Е. Библия Delphi [Текст] / М. Е. Фленов. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. С.49

  26. Лаптев В. В. С++. Объектно-ориентированное программирование: Учебное пособие [Текст] / В. В. Лаптев. — СПб.: Питер. 2008. С.207

  27. Программирование. ООП в Pascal-Паскаль [Электронный ресурс] // Pascal-Паскаль: Исходники Программирование Pascal-Паскаль. — URL: http://www.pascal.helpov.net/index/object-oriented_programming_pascal_programming#pascal-oop_8 (дата обращения: 15.10.2017).

  28. Borland Pascal. Руководство пользователя: Глава 9. Объектно-ориентированное программирование [Электронный ресурс] // Библиотека on-line. — URL: http://citforum.ru/programming/bp70_ug/bp70ug_09.shtml (дата обращения: 15.10.2017).

  29. Бертран М. Основы объектно-ориентированного программирования [Электронный ресурс] / Бертран М. — Электронное издательство «Интернет-университет информационных технологий — ИНТУИТ.ру», 2005 г.

  30. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  31. Фленов М. Е. Библия Delphi [Текст] / М. Е. Фленов. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. С.50

  32. Павловская Т. А., Щупак Ю. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум [Текст] / Т. А. Павловская, Ю. А. Щупак. — СПб.: Питер, 2011. С.163

  33. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  34. Фленов М. Е. Библия Delphi [Текст] / М. Е. Фленов. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. С.5

  35. Там же. С.45

  36. Бертран М. Основы объектно-ориентированного программирования [Электронный ресурс] / Бертран М. — Электронное издательство «Интернет-университет информационных технологий — ИНТУИТ.ру», 2005 г.

  37. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  38. Павловская Т. А., Щупак Ю. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум [Текст] / Т. А. Павловская, Ю. А. Щупак. — СПб.: Питер, 2011. С.202

  39. Буч Г., Максимчук Р. А., Энгл М. У., Янг Б. Дж., Коналлен Д., Хьюстон К. А. Объектно-ориентированный анализ и проектирование с примерами приложений [Текст] / Г. Буч, Р. А. Максимчук, М. У. Энгл, Б. Дж. Янг, Д. Коналлен, К. А. Хьюстон. — 3-е изд. — М.: ООО «И. Д. Вильямс», 2008. — 720 с.

  40. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  41. Кирютенко Ю. А., Савельев В. А. Объектно-ориентированное программирование: Язык Smalltalk — Москва: «Вузовская книга», 2003. — 358 с.

  42. Кирютенко Ю. А., Савельев В. А. Объектно-ориентированное программирование: Язык Smalltalk — Москва: «Вузовская книга», 2003. — 358 с.

  43. Павловская Т. А., Щупак Ю. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум [Текст] / Т. А. Павловская, Ю. А. Щупак. — СПб.: Питер, 2011. — 352 с.

  44. Павловская Т. А., Щупак Ю. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум [Текст] / Т. А. Павловская, Ю. А. Щупак. — СПб.: Питер, 2011. — 352 с.

  45. Лаптев В. В. С++. Объектно-ориентированное программирование: Учебное пособие [Текст] / В. В. Лаптев. — СПб.: Питер. 2008. — 464 с.

  46. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.

  47. Лаптев В. В. С++. Объектно-ориентированное программирование: Учебное пособие [Текст] / В. В. Лаптев. — СПб.: Питер. 2008. С.120

  48. Казаков П. В. Объектно-ориентированное программирование : учеб. пособие / П. В. Казаков ; Федер. агентство по образованию ; Брян. гос. техн. ун-т. - Брянск : Изд-во БГТУ, 2005 (Брянск : Лаб. ОП БГТУ). - 114 с.