46228

Вариантные обобщения

Доклад

Логика и философия

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

Русский

2013-11-20

14.54 KB

1 чел.

11. Вариантные обобщения.

Обобщение - это композиция альтернативных по своим свойствам программных объектов, принадлежащих к единой категории в некоторой системе классификации.

Выделяются:

Обобщение данных и обобщение процедур (процедурное обобщение).

Обобщение данных состоит из основы обобщения, к которой присоединяются различные основы специализаций.

Методы формирования обобщений

При обобщении на основе общего ресурса происходит размещение специализаций в едином адресном пространстве.

При этом обычно существует часть ресурса, одновременно перекрываемая всеми размещаемыми программными объектами.

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

Образное обобщение

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

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

Вариантное обобщение

Вариант - основа обобщения данных в процедурном подходе. Обобщение, применяемое в процедурном подходе и построенное на основе варианта, назовем вариантным обобщением.

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

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

В дальнейшем специализированные процедуры, используемые в процедурном подходе, будут называться обработчиками вариантов.

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

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


Вывод

Вариантные обобщения на основе общего ресурса формируются при написании программы и распознаются во время трансляции. Это позволяет заранее распределить память и обеспечить быстрый  и непосредственный доступ к отдельным экземплярам.

К недостаткам можно отнести неэффективное использование пространства памяти при различных размерах специализаций.

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


 

А также другие работы, которые могут Вас заинтересовать

49005. Методика викладання хімії 118.32 KB
  Діяльність вчителя, яка представляє собою передачу знань, умінь та навичок учням, організація їх самостійної роботи по набуттю знань и навичок, формування наукового світогляду та поведінки, керівництво й управління процесом підготовки учнів до життя в суспільстві
49006. Саздание программы на языке программирования Паскаль 254 KB
  Результаты расчетов должны выводиться на экран и в файл. Оформление графиков и таблиц выполнять средствами математических пакетов (Maple, MathCad). Демонстрационный вариант программы подготовить в среде визуального программирования Delphi.
49007. Логистическая система предприятия ООО «Евроторг» 1.35 MB
  ООО «Евроторг» является юридическим лицом, имеет обособленное имущество (его составляют основные фонды и оборотные средства, а также иные ценности, стоимость которых отражается в балансе организации), самостоятельный баланс
49008. АУДИТОРЛЫҚ ҚЫЗМЕТТIҢ АҚПАРАТТЫҚ ТЕХНОЛОГИЯЛАРЫ 26.85 KB
  Аудиторлық қызметтiң компьютерлік ақпараттық жүйесiнiң (КАЖ) атқарымдық есептерi. Аудиторлық қызметтегі автоматтандырылған ақпараттық технологиялар (ААТ). Аудиторлық қызметтегі автоматтандырылған ақпараттық технологияларды (ААТ) программалық қамтамасыз ету
49009. Философия. Философские взгляды 80.54 KB
  История философии, во-первых, есть история единой попытки людей философствовать и посредством философии узнавать о себе и о мире то, чего без философии узнать нельзя. Во-вторых, история философии - многогранное единство человеческого опыта.
49010. Проектування установки для наплавлення 829 KB
  Виходячи з масогабаритних показників деталі а також обраного матеріалу для наплавлення обирається тип основного та допоміжного обладнання. Потім проводиться розрахунки механізму подачі матеріалу що наплавляється механізму пересування апарату а також розрахунок механізму підйому інструменту для наплавлення. На підставі цих розрахунків обирається стандартне обладнання проектується необхідна установка для наплавлення.
49011. Технология изготовления ходовых винтов 941 KB
  В металлорежущих станках, прессах и других машинах, где винтовые механизмы служат для преобразования вращательного движения в поступательное, применяют ходовые винты. Различают ходовые винты скольжения с прямоугольной, трапецеидальной и треугольной резьбой и ходовые винты качения полукруглой или арочной формы.
49012. Вся история балета 388.5 KB
  Балет в 18 веке Балет как искусство Балет 17ый век Когда Людовика 14й был коронован его интерес к танцам сильно поддерживался рождённым в Италии кардиналом Мазарини который помогал Людовику 14му. Юный король мальчиком сделал свой дебют в балете.
49013. Социальная защита детей оставшихся без попечения родителей в Республике Казахстан 808 KB
  Для устройства дальнейшей судьбы детей-оставшихся без попечения родителей в оказания им помощи необходимо четко представлять, что это за дети, какой опыт они вынесли из жизни в семье или приобрели вне ее и конечно же какую роль играет социальный работник социальной защите ребенка.