Sobes.tech
Junior — Middle

Ob'ektlarni yaratish, ularning boshlang'ich holatidan keyin o'zgarmas qilish nima anglatishini tushuntiring.

sobes.tech AI

AIdan javob

Obyektlarni yaratish, ularning boshlang'ich holatidan keyin o'zgarmasligini anglatadi, ya'ni obyekt yaratilib, uning maydonlari belgilanganidan so'ng, uning holati o'zgartirilmaydi. Bunday obyektlar immutable (o'zgarmas) deb ataladi.

C# da bu, masalan, quyidagicha amalga oshiriladi:

  • maydonlarni readonly sifatida e'lon qilish;
  • xususiyatlarda setter bo'lmasligi (faqat getter);
  • barcha ma'lumotlarni konstruktor orqali boshlash.

O'zgarmas obyektlarning afzalliklari:

  • qo'shimcha sinxronizatsiya qilmasdan ip xavfsizligi.
  • obyekt holati o'zgarmasligi sababli kodni tushunishni soddalashtirish.
  • kolleksiyalar va keshlar uchun kalit sifatida foydalanish.

Misol:

public class Person
{
    public string Name { get; }
    public int Age { get; }

    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

Person obyektining nusxasi yaratildgandan so'ng, uning xususiyatlarini o'zgartirib bo'lmaydi.