Понижающее приведение

Понижающее приведение

В объектно-ориентированном программировании, понижающее приведение (англ.  downcasting) или «уточнение типа» (англ. type refinement) — акт приведения типа, ссылающегося на базовый класс, к одному из его производных классов.

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

Критика

Множество людей выступает за избегание использования понижающего приведения, так как в соответствии с принципом подстановки Барбары Лисков дизайн объектно-ориентированного программирования, требующий подобного, считается некорректным. Некоторые языки, как например, OCaml, полностью запрещают понижающее преобразование.

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

См. также

  • Полиморфизм подтипов

Дополнительные источники


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Понижающее приведение" в других словарях:

  • Высший тип — (top type) в теории типов, часто обозначаемый как просто вершина или «закрепленным» символом (⊤),  универсальный тип, то есть такой тип, который содержит в себе каждый возможный объект в нужной системе типов. Высший тип иногда именуется… …   Википедия

  • Гэп — (Gap) Гэп это разрыв цены в потоке котировок на графике между двумя свечами Определение гэпа, виды и причины возникновения гэпов, проведение анализа и торговля на рынке Форекс с использованием гэпов, графики гэпов Содержание >>>>>>>>>>> …   Энциклопедия инвестора


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»