Loading AI tools
в объектно-ориентированном программировании объект, который не может быть изменён после своего создания Из Википедии, свободной энциклопедии
В программировании неизменяемым (англ. immutable) называется объект, состояние которого не может быть изменено после создания.
В другом языковом разделе есть более полная статья Immutable object (англ.). |
В функциональном программировании все (в случае чистых языков) или почти все (в случае «нечистых» — англ. impure — языков) данные в программе, как локальные, так и глобальные, являются неизменяемыми. С одной стороны, это существенно повышает стабильность программ за счёт упрощения формальной верификации программ. С другой, это затрудняет решение ряда задач (из которых наиболее часто отмечается задача реализации интерфейса пользователя, который в своей сути представляет собой изменяемое состояние), что вынуждает усложнять системы типов языка — например, монадами или уникальными типами[англ.].
В объектно-ориентированном программировании неизменяемые объекты создаются посредством соответствующего шаблона проектирования.
Неизменяемые объекты интересны, например, тем, что потоко-безопасны.
Объект может быть неизменяемым как полностью, так и частично. Например, применение директивы const к какому-либо члену класса в C++ делает объект частично неизменяемым. В некоторых случаях объект считается неизменяемым с точки зрения пользователя класса, даже если изменяются его внутренние поля. Как правило, неизменяемый объект получает все внутренние значения во время инициализации, либо значения устанавливаются в несколько этапов, но до того, как объект будет использован.
Для улучшения этой статьи желательно:
|
int main()
{
printf("Hi");
return 0;
}
|
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.