Junior — Middle
Тавзеҳ диҳед, ки чӣ маъно дорад, сохтани объектҳо, ки пас аз оғозёбӣ тағирнопазир мешаванд.
sobes.tech AI
Ҷавоб аз AI
Сохтаниёти объектҳо, ки пас аз инициализация тағйирнопазир мебошанд, маънои онро дорад, ки пас аз он ки объект сохта шуд ва майдонҳои он муайян шуданд, ҳолати он тағйир дода намешавад. Ин гуна объектҳо immutable (тамоман тағйирнопазир) номида мешаванд.
Дар C# ин тавассути:
- эълон кардани майдонҳо ҳамчун
readonly; - набудани setter дар хусусиятҳо (фақат getter);
- инициализатсияи ҳамаи маълумот тавассути конструктор.
Бартариҳои объектҳои immutable:
- бехатарии дар бисёр сатрҳо бидуни ҳамоҳангсозии иловагӣ.
- содда кардани фаҳмиши коди, зеро ҳолати объект тағйир намеёбад.
- истифода ҳамчун калидҳо дар коллексияҳо ва кешҳо.
Масалан:
public class Person
{
public string Name { get; }
public int Age { get; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
Пас аз сохтани намунаи Person, хусусиятҳои он тағйир дода намешаванд.