Interested Article - Понижающее приведение
- 2021-08-24
- 1
В объектно-ориентированном программировании понижающее приведение ( англ. downcasting ) или «уточнение типа» ( англ. type refinement ) — акт приведения типа, ссылающегося на базовый класс, к одному из его производных классов.
В большинстве языков программирования , как правило, существует возможность выполнять проверку при помощи механизма RTTI , был ли приведён нужный тип ссылающегося объекта или порождён производный тип, и таким образом, происходит ошибка, если это не так.
Критика
Множество людей выступает за избегание использования понижающего приведения, так как в соответствии с принципом подстановки Барбары Лисков дизайн объектно-ориентированного программирования , требующий подобного, считается некорректным. Некоторые языки, как например, OCaml , полностью запрещают понижающее преобразование.
Распространённым примером плохо продуманного дизайна являются контейнеры высших типов , как контейнеры в языке Java , присутствовавшие до введения , требовавшие понижающего приведения вложенных объектов для их повторного использования.
См. также
Дополнительные источники
- Статья « » (англ.)
- Статья « » (англ.)
- Статья « » (англ.)
- Статья « » (англ.)
- Документ « » (англ.)
- — в статье кратко рассматриваются примеры повышающего и понижающего приведения и приводятся примеры их использования. (рус.)
- (рус.)
- 2021-08-24
- 1