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

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

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

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

Критика

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

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

См. также

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

en:Downcasting pl:Rzutowanie w dół

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....