Неизменяемый объект
Неизменяемый объект (англ. Immutable object) — в объектно-ориентированном программировании объект, который не может быть изменён после своего создания.
Виды неизменяемых объектов
Объект может быть неизменяемым как полностью, так и частично. Например, применение директивы const к какому-либо члену класса в C++ делает объект частично неизменяемым. В некоторых случаях объект считается неизменяемым с точки зрения пользователя класса, даже если изменяются его внутренние поля. Как правило, неизменяемый объект получает все внутренние значения во время инициализации, либо значения устанавливаются в несколько этапов, но до того, как объект будет использован.
Применение
Неизменяемые объекты часто используются для устранения дорогих операций копирования и сравнения, для упрощения кода и увеличения скорости исполнения. Однако неуместно делать объект неизменяемым, если в нём есть большое количество изменяемых данных.
Примером таких объектов могут служить строки в Java, C# и Python. Так, операции изменения строки приводят к созданию нового объекта строки и разрушению старого. Такой подход позволяет исключить манипулирование (перенос, изменение размера) большими массивами данных.
См. также
Ссылки
- Теория и практика Java: Изменять или не изменять?
- Immutable objects(англ.)
- Descriptions from Portland Pattern Repository(англ.)
Программирование | Это незавершённая статья о программировании. Вы можете помочь проекту, исправив и дополнив её. |
Ошибка: неверное или отсутствующее изображение |
В этой статье не проставлены тематические категории. Вы можете помочь проекту, найдя их или создав новые, а потом добавив их в статью.
|
bg:Неизменим обект en:Immutable object fr:Objet non mutable ja:イミュータブル pt:Objeto imutável uk:Незмінний об'єкт
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....