Immutable (تغییرناپذیر)


Immutable در لغت به معنای تغییرناپذیر و در دنیای برنامه‌نویسی به آبجکتی گفته می‌شود که پس از تعریف، قابلیت تغییر در مقادیر آن وجود نداشته باشد. این تعریف علاوه بر آبجکت‌های Built-in (از پیش تعریف شده)، در مورد آبجکت‌هایی که خودمان تعریف کرده باشیم نیز صادق است.

به عنوان مثال، در زبان برنامه‌نویسی پایتون از دیتاتایپ‌های Built-in و Immutable می‌توان به Int ،Float ،Complex ،String ،Tuple ،Frozen Set و Byte اشاره کرد.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
کاربر میهمانمن یک کاربر مهمان هستم
۱۳۹۸/۱۲/۲۴
تعریف mutable و immutable اینگونه نیست!
یک مثال میزنم از C# که بنظرم بهتر از کلی بحثه:
اول این رو میدونیم که نوع string یک نوع immutable است و در هر جای برنامه هم قابل تغییر است!!! تست کنید...
و همچنین میدونیم که نوع stringbuilder یک نوع mutable است و این هم در هر جای برنامه قابل تغییر است!!!
پس تفاوت چیست؟؟؟ اینه که قضیه به تخصیص حافظه و این داستانا برمیگرده... در واقع وقتی شما هر وقت یک نوع immutable رو مقداردهی مجدد کنید باعث از بین رفتن آدرس حافظه قبلی و تخصیص آدرسی جدید میشیود اما در مورد یک نوع mutable همان حافظه قبلی توسعه داده می‌شود.
https://www.c-sharpcorner.com/article/mutable-and-immutable-class-in-c-sharp/