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

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