فهرست مطالب:

چگونه می توانیم کلاس را با فیلد تاریخ در جاوا تغییرناپذیر کنیم؟
چگونه می توانیم کلاس را با فیلد تاریخ در جاوا تغییرناپذیر کنیم؟

تصویری: چگونه می توانیم کلاس را با فیلد تاریخ در جاوا تغییرناپذیر کنیم؟

تصویری: چگونه می توانیم کلاس را با فیلد تاریخ در جاوا تغییرناپذیر کنیم؟
تصویری: چگونه یک کلاس را تغییرناپذیر کنیم؟ - کرک کردن مصاحبه کد نویسی جاوا 2024, نوامبر
Anonim

معنای واقعی این دستورالعمل ها را با ایجاد یک کلاس تغییرناپذیر با شیء قابل تغییر با فیلد Date درک خواهیم کرد

  1. روش‌های «تنظیم‌کننده» را ارائه نکنید - روش‌هایی که اصلاح می‌کنند زمینه های یا اشیاء ارجاع شده توسط زمینه های .
  2. بسازید همه زمینه های نهایی و خصوصی
  3. به کلاس‌های فرعی اجازه ندهید روش‌ها را نادیده بگیرند.

در اینجا، چگونه می توانیم یک کلاس را در جاوا تغییرناپذیر کنیم؟

کلاس تغییرناپذیر در جاوا

  1. کلاس را نهایی اعلام کنید تا قابل تمدید نباشد.
  2. همه فیلدها را خصوصی کنید تا دسترسی مستقیم مجاز نباشد.
  3. متدهای تنظیم کننده را برای متغیرها ارائه نکنید.
  4. تمام فیلدهای قابل تغییر را نهایی کنید تا مقدار آن فقط یک بار قابل تخصیص باشد.
  5. تمام فیلدها را از طریق سازنده ای که کپی عمیق را انجام می دهد، مقداردهی اولیه کنید.

در ادامه سوال این است که کلاس تغییرناپذیر در جاوا چه کاربردی دارد؟ کلاس تغییرناپذیر به این معنی که وقتی یک شی ایجاد می شود، نمی توانیم محتوای آن را تغییر دهیم. که در جاوا ، تمام لفاف کلاس ها (مانند Integer، Boolean، Byte، Short) و String کلاس است تغییرناپذیر . ما می توانیم خودمان را ایجاد کنیم طبقه تغییرناپذیر همچنین.

مردم همچنین می پرسند، آیا کلاس Date در جاوا تغییر ناپذیر است؟

تاریخ نیست تغییرناپذیر ، باید یک کپی دفاعی از آن تهیه کنیم جاوا . استفاده کنید. تاریخ در حالی که یک مرجع به این متغیر نمونه برمی گرداند. بیایید یک فرد فرضی بسازیم کلاس که دارای نام و dob به عنوان تنها دو عضو است.

چگونه می توانیم یک شی را تغییرناپذیر کنیم؟

برای غیرقابل تغییر کردن شی، باید این مراحل را انجام دهید:

  1. از هیچ روشی استفاده نکنید که بتواند فیلدهای کلاس شما را تغییر دهد. به عنوان مثال از Setter استفاده نکنید.
  2. از استفاده از فیلدهای عمومی غیر نهایی خودداری کنید. اگر فیلدهای شما عمومی هستند، باید آنها را به عنوان نهایی اعلام کنید و آنها را در سازنده یا مستقیماً در خط اعلان مقداردهی کنید.

توصیه شده: