Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объектно-ориентированное программирование




Объектно-ориентированное программиро­вание (с середины 80-х до конца 90-х годов XX в.)определяется как технология создания сложного программного обес­печения, основанная на представлении программы в виде совокупности объ­ектов, каждый из которых является экземпляром определенного типа (клас­са), а классы образуют иерархию с наследованием свойств. Взаи­модействие программных объектов в такой системе осуществляется путем передачи сообщений (рис. 1.6).

Объектная структура программы впервые была использована в языке имитационного моделирования сложных систем Simula, появившемся еще в 60-х годах XX в. Естественный для языков моделирования способ представ­ления программы получил развитие в другом специализированном языке мо­делирования - языке Smalltalk (70-е годы XX в.), а затем был использован в новых версиях универсальных языков программирования, таких, как Pascal, C++, Modula, Java.

Основным достоинством объектно-ориентированного программирования во.сравнению с модульным программированием является «более естествен­ная» декомпозиция программного обеспечения, которая существенно облег­чает его разработку. Это приводит к более полной локализации данных и ин­тегрированию их с подпрограммами обработки, что позволяет вести практи­чески независимую разработку отдельных частей (объектов) программы. Кроме этого, объектный подход предлагает новые способы организации про­грамм, основанные на механизмах наследования, полиморфизма, компози­ции, наполнения. Эти механизмы позволяют конструировать сложные объек­ты из сравнительно простых. В результате существенно увеличивается показатель повторного использования кодов и появляется возможность создания библиотек классов для различных применений.

 

Бурное развитие технологий программирования, основанных на объект­ном подходе, позволило решить многие проблемы. Так были созданы среды, поддерживающие визуальное программирование, например, Delphi, C++ Builder, Visual C++ и т. д. При использовании визуальной среды у програм­миста появляется возможность проектировать некоторую часть, например, интерфейсы будущего продукта, с применением визуальных средств добав­ления и настройки специальных библиотечных компонентов. Результатом

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

Использование объектного подхода имеет много преимуществ, однако его конкретная реализация в объектно-ориентированных языках программи­рования, таких, как Pascal и C++, имеет существенные недостатки:

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

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

Таким образом, при использовании этих языков программирования со­храняется зависимость модулей программного обеспечения от адресов экс­портируемых полей и методов, а также структур и форматов данных. Эта за­висимость объективна, так как модули должны взаимодействовать между со­бой, обращаясь к ресурсам друг друга. Связи модулей нельзя разорвать, но можно попробовать стандартизировать их взаимодействие, на чем и основан компонентный подход к программированию.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 583; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.