Обсуждение:Замыкание (программирование)
Материал из Википедии — свободной энциклопедии
А что в этом хорошего, почему это круто и зачем это надо ? Как это правильно использовать? Nbr 12:42, 3 декабря 2006 (UTC)
- Пример. Есть функция-итератор, которая, например, обходит дерево и делает над каждой веткой заданную операцию. Эта операция задается путем передачи ее в качестве одного из параметров итератора. (Например, в C# это делается через делегат, в C++ - указатель на функцию и т.д.) Мы хотим, чтобы она поработала (обошла дерево) с нашей операцией из одной-двух строчек. Без замыкания пришлось бы эту операцию описывать где-то в другом месте как обычную функцию, называть её именем и передавать это имя в параметрах итератора. А с замыканием можно наши две строчки написать прямо в месте вызова итератора, что есть гораздо логичнее и читабельнее. --М. Ю. (yms) 14:07, 3 декабря 2006 (UTC)
[править] О Java
В Java так же реализовано замыкание классов :)
Про замыкание функций - зачем акцентировать внимание на то, что метод из анонимного класса имеет доступ к переменным с модификатором final? Или он имеет доступ только к этим переменным?