شیء تغییرناپذیر

از ویکی‌پدیا، دانشنامهٔ آزاد

در برنامه‌نویسی شیءگرا و تابعی، شیء تغییرناپذیر (به انگلیسی: Immutable object)، یک شیء است که وضعیتش پس از ایجاد نمی‌تواند تغییر کند.[۱] این نوع شیء متضاد شیء تغییرپذیر است که پس از ایجاد می‌تواند تغییر کند.[۲] در برخی موارد، یک شیء، حتی اگر برخی از ویژگی‌های مورد استفادهٔ داخلی آن تغییر کنند، اما وضعیت شیء از دیدگاه خارجی بدون تغییر به نظر برسد، تغییرناپذیر در نظر گرفته می‌شود. برای مثال، یک شیء که برای ذخیره‌سازی نتایج محاسبه‌های پرخرج از به خاطر سپاری می‌کند، همچنان می‌تواند یک شیء تغییرناپذیر در نظر گرفته شود.

به‌منظور بهبود خوانش‌پذیری و بهینه‌سازی زمان اجرا در برنامه‌نویسی شیءگرا، معمولاً رشته‌ها و سایر اشیاء سخت به‌عنوان اشیاء تغییرناپذیر بیان می‌شوند. از دیگر مزایای این نوع از اشیاء این است که درک آن‌ها و استدلال‌کردن در مورد آن‌ها ساده‌تر است و نسبت به اشیاء تغییرپذیر، امنیت بیشتری را ارائه می‌دهند.[۱]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ Goetz et al. Java Concurrency in Practice. Addison Wesley Professional, 2006, Section 3.4. Immutability
  2. "6.005 — Software Construction".

پیوند به بیرون[ویرایش]