Изменяемый объект
В другом языковом разделе есть более полная статья Immutable object (англ.). |
В программировании неизменяемым (англ. immutable) называется объект, состояние которого не может быть изменено после создания.
В функциональном программировании все (в случае чистых языков) или почти все (в случае «нечистых» — англ. impure — языков) данные в программе, как локальные, так и глобальные, являются неизменяемыми. С одной стороны, это существенно повышает стабильность программ за счёт упрощения формальной верификации программ. С другой, это затрудняет решение ряда задач (из которых наиболее часто отмечается задача реализации интерфейса пользователя, который в своей сути представляет собой изменяемое состояние), что вынуждает усложнять системы типов языка — например, монадами или уникальными типами.
В объектно-ориентированном программировании неизменяемые объекты создаются посредством соответствующего шаблона проектирования.
Неизменяемые объекты интересны, например, тем, что потоко-безопасны.
Виды неизменяемых объектов
Объект может быть неизменяемым как полностью, так и частично. Например, применение директивы const к какому-либо члену класса в C++ делает объект частично неизменяемым. В некоторых случаях объект считается неизменяемым с точки зрения пользователя класса, даже если изменяются его внутренние поля. Как правило, неизменяемый объект получает все внутренние значения во время инициализации, либо значения устанавливаются в несколько этапов, но до того, как объект будет использован.
См. также
Изменяемый тип
Ссылки
- Теория и практика Java: Изменять или не изменять? (рус.)
- Immutable objects (англ.)
- Descriptions from Portland Pattern Repository (англ.)
В статье есть список источников, но не хватает сносок. |
Это заготовка статьи о программировании. Помогите Википедии, дополнив её. |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Изменяемый объект, Что такое Изменяемый объект? Что означает Изменяемый объект?
V drugom yazykovom razdele est bolee polnaya statya Immutable object angl Vy mozhete pomoch proektu rasshiriv tekushuyu statyu s pomoshyu perevoda V programmirovanii neizmenyaemym angl immutable nazyvaetsya obekt sostoyanie kotorogo ne mozhet byt izmeneno posle sozdaniya V funkcionalnom programmirovanii vse v sluchae chistyh yazykov ili pochti vse v sluchae nechistyh angl impure yazykov dannye v programme kak lokalnye tak i globalnye yavlyayutsya neizmenyaemymi S odnoj storony eto sushestvenno povyshaet stabilnost programm za schyot uprosheniya formalnoj verifikacii programm S drugoj eto zatrudnyaet reshenie ryada zadach iz kotoryh naibolee chasto otmechaetsya zadacha realizacii interfejsa polzovatelya kotoryj v svoej suti predstavlyaet soboj izmenyaemoe sostoyanie chto vynuzhdaet uslozhnyat sistemy tipov yazyka naprimer monadami ili unikalnymi tipami V obektno orientirovannom programmirovanii neizmenyaemye obekty sozdayutsya posredstvom sootvetstvuyushego shablona proektirovaniya Neizmenyaemye obekty interesny naprimer tem chto potoko bezopasny Vidy neizmenyaemyh obektovObekt mozhet byt neizmenyaemym kak polnostyu tak i chastichno Naprimer primenenie direktivy const k kakomu libo chlenu klassa v C delaet obekt chastichno neizmenyaemym V nekotoryh sluchayah obekt schitaetsya neizmenyaemym s tochki zreniya polzovatelya klassa dazhe esli izmenyayutsya ego vnutrennie polya Kak pravilo neizmenyaemyj obekt poluchaet vse vnutrennie znacheniya vo vremya inicializacii libo znacheniya ustanavlivayutsya v neskolko etapov no do togo kak obekt budet ispolzovan Sm takzheIzmenyaemyj tipSsylkiTeoriya i praktika Java Izmenyat ili ne izmenyat rus Immutable objects angl Descriptions from Portland Pattern Repository angl V state est spisok istochnikov no ne hvataet snosok Bez snosok slozhno opredelit iz kakogo istochnika vzyato kazhdoe otdelnoe utverzhdenie Vy mozhete uluchshit statyu prostaviv snoski na istochniki podtverzhdayushie informaciyu Svedeniya bez snosok mogut byt udaleny 6 sentyabrya 2014 Eto zagotovka stati o programmirovanii Pomogite Vikipedii dopolniv eyo
