Незмінний об'єкт: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
Рядок 1:
'''Незмі́нний об'є́кт''' ({{lang-en|Immutable object}})&nbsp;— в [[об'єктно-орієнтоване програмування|об'єктно-орієнтованому програмуванні]], об'єкт, стан якого не може бути змінено після створення. На противагу незмінним, стан '''змінних об'єктів''' може змінюватись після створення. Об'єкт може бути як незмінним повністю, так і певні його атрибути можуть бути задекларовані незмінними, використовуючи, наприклад, декларацію <tt>const</tt> [[мова програмування|мови програмування]] [[C++]]. У деяких випадках, об'єкт вважається незмінним навіть тоді, коли змінюються деякі його внутрішні атрибути, за умови, що зовні його стан виглядає незмінним. Наприклад, об'єкт, який використовує запам'ятовування результатів проміжних обчислень для кешування результатів складних обчислень, може вважатись незмінним. Початковий стан незмінного об'єкта, як правило, визначається [[Життєвий цикл об'єкта|під час створення об'єкта]], але, він може, також, визначатись безпосередньо перед використанням об'єкта.
 
Часто, незмінні об'єкти можуть бути корисними через те, що вони дозволяють уникнути деяких дорогих операцій копіювання та порівняння, полегшуючи, в такий спосіб, вихідний код програми, та прискорюючи її роботу. Однак, у деяких випадках, незмінність об'єкта може заважати, наприклад, якщо об'єкт містить велику кількість змінних даних. Через це, багато [[мова програмування|мов програмування]] мають можливості роботи як із змінними, так і з незмінними об'єктами.