28982 автора и 62 редактора ответили на 85243 вопроса,
разместив 135214 ссылок на 43429 сайтов, присоединяйтесь!

Что такое замыкание в языке программирования?

РедактироватьВ избранноеПечать

Замыкание (closure) в программировании — это особый вид функции, которая определена в теле другой функции и создаётся каждый раз во время выполнения последней. Отличительной чертой замыкания является использование ссылок на переменные, отличные от переменных, объявленных в теле функции-замыкания, и ее параметров.

Не следует путать замыкание с механизмом глобальных переменных, использовавшихся в "не объектных" языках, например, С. Замыкание использует не глобальные переменные, а переменные из своего контекста. При перегрузке контекста значения этих переменных также меняются.

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

В другом общеизвестном языке, Java, концепция замыкания реализована посредством анонимных классов. Анонимный класс имеет доступ к полям класса, в контексте которого он определён, а также к переменными включающего метода.


Источники:

Замыкание (программирование) — Википедия
Замыкания в JavaScript

Последнее редактирование ответа: 07.09.2015

  • Оставить отзыв

    Оставить отзыв

РедактироватьВ избранноеПечать

Похожие вопросы

«Что такое замыкание в языке программирования»

В других поисковых системах:

GoogleЯndexRamblerВикипедия

В соответствии с пользовательским соглашением администрация не несет ответственности за содержание материалов, которые размещают пользователи. Для урегулирования спорных вопросов и претензий Вы можете связаться с администрацией сайта genon.ru. Размещенные на сайте материалы могут содержать информацию, предназначенную для пользователей старше 18 лет, согласно Федерального закона №436-ФЗ от 29.12.2010 года "О защите детей от информации, причиняющей вред их здоровью и развитию". Обращение к пользователям 18+.