Непейвода Н.Н. Программирование. Раздел 4

Непейвода Н.Н. Программирование. Страница 409

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

Какое оперирование с компонентами можно предусмотреть на уровне универсального конструктора наборов? Прежде всего, приходят на ум сред­ства циклической обработки: совместный цикл forallдля всех компонентов набора. Но такой цикл целесообразен, лишь если все компоненты имеют одинаковые типы и подобную прагматику. Ведь цикл предполагает однород­ность выполняемых действий, а компоненты набора могут иметь и разные типы, и совершенно разную прагматику, что уничтожает все достоинства цикла.

Безусловно, полезна функция, вычисляющая размер и характеристики набора. Часто ее суррогат предоставляется системами программирования как зависимая от реализации функция размера вычисляющая размер

памяти, необходимой для размещения набора.

Конструктор набора компонент является полностью абстрактным, и в реальных программистских построениях он почти никогда не появляется явно. Он может быть приспособлен для выражения любых употребляемых в практике программирования структурных конструкторов. Для этого надо лишь конкретизировать то, что представлено в конструкторе набора в обоб­щенном виде. Некоторые трудности возникают только при представлении рекурсивных структур данных, поскольку их определение требует привле­чения дополнительных понятий, связанных с семантикой выполнения (в частности, памяти, адресации и др.).

Поэтому вместо конструктора набора используются конкретные кон­структоры, которые могут рассматриваться как конкретизации абстрактного конструктора набора компонент для частных вариантов построения струк­турных типов. При конкретизации уточняются функции и 5а и вводятся необходимые ограничения. Кроме того, определяется конкретносинтакси­ческая форма конструктора и его селекторов.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама