oberon:generics
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева
Предыдущая версия
|
|
oberon:generics [2024/07/12 14:31] comdiv |
oberon:generics [2024/07/15 15:48] (текущий) comdiv |
====== Обобщённые модули в стандартном Oberon ====== | ====== Обобщённые модули в стандартном Oberon ====== |
| |
Обобщённые модули (дженерики) позволяют повысить переиспользуемость кода за счёт статической параметризации модулей по константам, процедурам и типам, не связанным генетическими связями (расширение записей). | Обобщённые модули (дженерики) — модули, параметризированные по константам, процедурам и типам без требования к генетичекой связи через расширение записей. Такое обобщение кода позволяет повысить либо его переиспользуемость, либо эффективность вместе со статическими гарантиями. |
| |
Сам по себе язык не предусматривает специальной поддержки этого механизма, но он может использоваться как принцип за счёт самой модульности, требуя, правда, расширенного понимания того, что стоит за IMPORT. Подход настолько прост, что может использоваться даже без инструментальной поддержки, хотя и не исключает её. | Существуют диалекты Oberon с явной поддержкой параметризуемых модулей, но сам по себе исходный язык не предусматривает явных конструкций параметризации. Но что интересно, даже без явной поддержки обобщённые модули всё равно могут использоваться как принцип за счёт самой модульности, требуя лишь расширенного понимания того, что стоит за IMPORT. Подход настолько прост, что может использоваться даже без инструментальной поддержки, хотя и не исключает её. Если при явном введении дженериков в Oberon используют обобщение понятия модуля, то здесь, наоборот, обобщённые модули рассматриваются как частный случай использования обычных модулей. |
| |
Здесь представлен схематичный пример. Дополнительные детали воплощения для достижения нужных качеств представить несложно. | Здесь представлен схематичный пример. Дополнительные детали воплощения для достижения нужных качеств представить несложно. |
oberon/generics.txt · Последнее изменение: 2024/07/15 15:48 — comdiv