آبجکت های (Immutable Object) یا غیرقابل تغییر چیست

سوال

سلام به دوستان عزیزم خوبید…دوستان کسی اگر میتونه یکم راجب (Immutable Object) در سی شارپ برام توضیح بده!

ممنونم از عزیزان درسمن

حل شده 0
Sahand 5 سال 4 پاسخ ها 1220 دیده شده 0

پاسخ ها ( ۴ )

  1. سلام

    Immutable Object: شما نمی توانید هیچ چیزی را بعد از ایجاد شدن object تغییر دهید. برای مثال: String ،Integer ،Long و غیره.

  2. سلام دوست عزیز

    در زبان های برنامه نویسی  اشیا به دو دسته تقسیم می شوند(در سطح حافظه و سطوح خارجی)

    یکسری قابل تغییر هستند و یک سری غیرقابل تغییر

    به اشیا قابل تغییر mutable گویند.

    به اشیا غیرقابل تغییر immutable گویند.

     

    موراد استفاده  اشیا غیرقابل تغییر(با مثال)

    *مثلا شما یک اپلیکیشن ساختید که اسم آن App1 است و شرکت تولید کننده آن نیز Company1 هست. میتوان اینطور در نظرگرفت که این دو مقدار هیچ وقت تغییر نخواهند کرد!

    *اشیاء Signleton (الگوی سینگلتون اینطور بیان می کند که یک شی که singleton است یک نمونه از آن در حافظه است و در اصل immutable است)

     

    روش ایجاد اشیا غیرقابل تغییر در سی شارپ(البته در تمام زبان های برنامه نویسی میتوان اشیا غیرقابل تغییر ساخت)

    ۱-کلاس شما اگر دارای متغیر یا فیلد  هست باید بلاک setter های آن را حذف کرد!

    ۲-مقدار دهی پروپرتی های تان باید سازنده کلاس(چون یکبار مقدار دهی می شوند)

    ۳-یکی از مهم ترین لزومات این است که متغیر یا فیلد هایتان را readonly کنید با این روش شما یکبار به آنها از طریق سازنده مقدارمی دهید و در نتیجه اعضای public کلاس شما نمی توانند بعدا این مقادیر را ویرایش کنند.

     

    مثال:

     

    موفق باشید دوست عزیز

    بهترین پاسخ
  3. سلام و دورد بر شما،

    اگه مایل هستید میتونید دوره رایگان آموزش سی شارپ را مشاهده کنید امیدوارم مشکلتون برطرف بشه.

    موفق باشید.

  4. باسلام دوست عزیز.

    این نوع آبجکت ها یا داده ها زمانی در زبان برنامه نویسی استفاده می شوند، که قرار است داده هایی را در حافظه اصلی نگهداری کنیم و به هیچ وجه نیاز به تغییر آن ها نداریم. به عبارت دیگر، داده یا آبجکت هایی که Immutable تعریف می شوند، پس از ذخیره سازی در حافظه اصلی، غیرقابل تغییر هستند و شما نمی توانید چه به صورت دسترسی خارجی و چه به صورت دسترسی داخلی، آن ها را تغییر دهید و این نوع آبجکت ها دائمی و استاتیک می باشند.

    از این نوع آبجکت یا داده صرفا زمانی استفاده خواهد شد که بخواهیم به طور مثال اسامی کشور ها، استان ها، شهر ها و امثال این ها را در حافظه اصلی ذخیره سازی کنیم. زیرا این داده ها، به شکلی هستند که تغییر نمی کنند و ثابت هستند.

     

    موفق و پیروز باشید.

ارسال یک پاسخ