Третий этап - объектный подход к программированию (с середины 80-х до конца 90-х
годов XX в.). Объектно-ориентированное программирование определяется как технология
создания сложного программного обеспечения, основанная на представлении программы в виде
совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а
классы образуют иерархию с наследованием свойств [10, 24, 29]. Взаимодействие программных
объектов в такой системе осуществляется путем передачи сообщений (рис. 1.6).
Объектная структура программы впервые была использована в языке имитационного
моделирования сложных систем Simula, появившемся еще в 60-х годах XX в. Естественный для
языков моделирования способ представления программы получил развитие в другом
специализированном языке моделирования - языке Smalltalk (70-е годы XX в.), а затем был
использован в новых версиях универсальных языков программирования, таких, как Pascal, C++,
Modula, Java.
Основным достоинством объектно-ориентированного программирования по сравнению с
модульным программированием является «более естественная» декомпозиция программного
обеспечения, которая существенно облегчает его разработку. Это приводит к более полной
локализации данных и интегрированию их с подпрограммами обработки, что позволяет вести
практически независимую разработку отдельных частей (объектов) программы. Кроме этого,
объектный подход предлагает новые способы организации программ, основанные на механизмах
|
|
наследования, полиморфизма, композиции, наполнения. Эти механизмы позволяют
конструировать сложные объекты из сравнительно простых. В результате существенно
увеличивается показатель повторного использования кодов и появляется возможность создания
библиотек классов для различных применений.
Бурное развитие технологий программирования, основанных на объектном подходе,
позволило решить многие проблемы. Так были созданы среды, поддерживающие визуальное
программирование, например, Delphi, C++ Builder, Visual C++ и т. д. При использовании
визуальной среды у программиста появляется возможность проектировать некоторую часть,
например, интерфейсы будущего продукта, с применением визуальных средств добавления и
настройки специальных библиотечных компонентов. Результатом визуального проектирования
является заготовка будущей программы, в которую уже внесены соответствующие коды.
Использование объектного подхода имеет много преимуществ, однако его конкретная
реализация в объектно-ориентированных языках программирования, таких, как Pascal и C++,
имеет существенные недостатки:
фактически отсутствуют стандарты компоновки двоичных результатов компиляции объектов
|
|
в единое целое даже в пределах одного языка программирования: компоновка объектов,
полученных разными компиляторами C++ в лучшем случае проблематична, что приводит к
необходимости разработки программного обеспечения с использованием средств и возможностей
одного языка программирования высокого уровня и одного компилятора, а значит, требует одного языка программирования высокого уровня и одного компилятора, а значит, требует наличия
исходных кодов используемых библиотек классов;
• изменение реализации одного из программных объектов, как минимум, связано с
перекомпиляцией соответствующего модуля и перекомпоновкой всего программного
обеспечения, использующего данный объект.
Таким образом, при использовании этих языков программирования сохраняется зависимость
модулей программного обеспечения от адресов экспортируемых полей и методов, а также
структур и форматов данных. Эта зависимость объективна, так как модули должны
взаимодействовать между собой, обращаясь к ресурсам друг друга. Связи модулей нельзя
разорвать, но можно попробовать стандартизировать их взаимодействие, на чем и основан
компонентный подход к программированию.
Дата добавления: 2019-02-12; просмотров: 269; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!