ВУЗ:
первое число.
Превосходство функциональной парадигмы программирования над императивной проявляется в том, что она стимули-
рует модульный подход к конструированию программ. Действительно, то, что программы рассматриваются как функции,
которые, в свою очередь, должны состоять из других функций, вынуждает программиста думать в терминах модулей. По
этой причине сторонники функционального программирования утверждают, что этот подход приводит к созданию более
высокоорганизованных программ, чем в случае применения императивной парадигмы. Более того, многие утверждают, что
функциональная парадигма является естественной средой для метода, предусматривающего построение программ из "строи-
тельных блоков". Данный подход напоминает скорее конструирование программ из заранее подготовленных блоков, нежели
выполнение всей работы с нуля. Такому способу программирования отдают предпочтение в основном специалисты по раз-
работке больших пакетов программ. Эти же аргументы приводятся и в защиту объектно-ориентированной парадигмы.
Объектно-ориентированная парадигма (object-oriented paradigm), которая предполагает применение методов объектно-
ориентированного программирования (ООП), – это еще один подход к процессу разработки программного обеспечения. В
рамках этого подхода элемент данных рассматривается как активный "объект", а не как пассивный элемент, как это принято
в традиционной императивной парадигме. Поясним это на примере списка имен. В традиционной императивной парадигме
этот список рассматривается просто как совокупность некоторых данных. Любая программа, получающая на вход этот спи-
сок, должна содержать алгоритм выполнения над ним требуемых действий. Таким образом, список является пассивным объ-
ектом, поскольку он обрабатывается управляющей программой, а не обрабатывает себя сам. Однако при объектно-
ориентированном подходе список рассматривается как объект, содержащий некоторую совокупность данных вместе с набо-
ром процедур для их обработки. Этот набор может включать процедуры для вставки в список нового элемента, удаления
элемента из списка или сортировки списка. Поэтому программа, получающая доступ к списку для его обработки, не обязана
содержать алгоритм для выполнения указанных действий. При необходимости она просто выполняет процедуры, предостав-
ляемые самим объектом. В этом смысле объектно-ориентированная программа вместо сортировки списка (как при импера-
тивной парадигме) скорее просит список отсортировать самого себя.
Язык Visual Basic. Visual Basic – это объектно-ориентированный язык программирования, разработанный компани-
ей Microsoft в качестве инструмента, с помощью которого пользователи операционной системы Microsoft Windows мог-
ли бы создавать собственные графические интерфейсы пользователя (GUI). В действительности Visual Basic – это нечто
больше, чем просто язык программирования. Это – мощный интегрированный пакет разработки программного обеспе-
чения, позволяющий программисту создавать графический интерфейс пользователя из заранее определенных компонентов
(таких, как кнопки, флажки опций, текстовые поля, полосы прокрутки и т.п.) и настраивать работу этих компонентов в при-
ложении, описывая их реакцию на различные события. Например, если речь идет о кнопке, программист должен описать, что
должно случиться, если пользователь щелкнет на ней. В главе 6 мы увидим, что эта стратегия создания программ из готовых
компонентов представляет собой важнейшую современную тенденцию в области разработки программного обеспечения.
Популярность операционной системы Windows и удобство пакета для разработки программ Visual Basic способство-
вали тому, что язык Visual Basic в настоящее время стал одним из наиболее известных и широко используемых языков
программирования.
В качестве другого примера использования объектно-ориентированного подхода рассмотрим задачу разработки графи-
ческого интерфейса пользователя. В этом случае все отображаемые на экране графические элементы реализуются как объек-
ты. Каждый из этих объектов включает собственный набор процедур, определяющих реакцию объекта на возникновение
различных событий, – выбор этого объекта, щелчок на нем кнопкой мыши или перетаскивание его по экрану. Таким обра-
зом, вся система в целом выглядит как совокупность объектов, каждый из которых знает, как реагировать на определенное
событие.
Многие из преимуществ объектно-ориентированного проектирования являются следствием модульной структуры, ко-
торая возникает как естественный побочный эффект от применения объектно-ориентированного подхода. В рамках этого
подхода каждый объект реализуется в виде отдельного, точно определенного элемента. После того как свойства некоторой
сущности будут определены подобным образом, полученное определение можно повторно использовать всякий раз, когда
возникнет потребность в этой сущности. По этой причине сторонники объектно-ориентированного программирования ут-
верждают, что объектно-ориентированная парадигма предоставляет естественную среду для конструирования программного
обеспечения из "строительных блоков". Они предсказывают появление программных библиотек, содержащих определения
различных объектов, с помощью которых новое программное обеспечение можно будет собирать точно так же, как обычные
промышленные изделия собирают из готовых компонентов.
Объектно-ориентированная парадигма оказывает все большее влияние на область компьютерных наук, поэтому в раз-
деле 5.5 мы детально обсудим ее особенности. Кроме того, в последующих главах мы вновь и вновь будем встречаться с
проявлениями этой парадигмы. В частности, будет показано, какое влияние оказала объектно-ориентированная парадигма на
методы разработки программного обеспечения (глава 6) и проектирования баз данных (глава 9), а в главе 7 мы увидим, как
объектно-ориентированный подход к разработке программного обеспечения естественным образом обобщает результаты
исследований в области структур данных.
Наконец, следует заметить, что процедуры объекта, описывающие, как объект должен отвечать на различные сообще-
ния, в сущности, представляют собой небольшие императивные программные единицы. Поэтому большинство объектно-
ориентированных языков программирования обладают свойствами императивных языков. Например, распространенный объ-
ектно-ориентированный язык C++ был создан добавлением к императивному языку С объектно-ориентированных свойств. В раз-
делах 5.2 и 5.3 мы рассмотрим общие характеристики императивных и объектно-ориентированных языков и понятия, кото-
рые объединяют современное программное обеспечение.
Вопросы для самопроверки
1. В каком смысле программа на языке третьего поколения является машинно-независимой? В каком смысле она оста-
ется машинно-зависимой?
Страницы
- « первая
- ‹ предыдущая
- …
- 111
- 112
- 113
- 114
- 115
- …
- следующая ›
- последняя »