Junior — Middle
Обяснете какво означава създаването на обекти, които са неизменяеми след инициализацията им.
sobes.tech AI
Отговор от AI
Създаването на обекти, които са неизменяеми след инициализацията им, означава, че след като обектът е създаден и полетата му са зададени, състоянието на този обект не може да бъде променено. Такива обекти се наричат immutable (неизменяеми).
В C# това се постига например чрез:
- обявяване на полетата като
readonly; - липса на сетъри в свойствата (само гетъри);
- инициализация на всички данни чрез конструктор.
Предимствата на неизменяемите обекти:
- безопасност при многонитова работа без допълнителна синхронизация.
- опростяване на разбирането на кода, тъй като състоянието на обекта не се променя.
- използване като ключове в колекции и кешове.
Пример:
public class Person
{
public string Name { get; }
public int Age { get; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
След създаване на екземпляр на Person, неговите свойства не могат да бъдат променени.