Junior — Middle
Vysvětlete, co znamená vytváření objektů, které jsou po jejich inicializaci neměnné.
sobes.tech AI
Odpověď od AI
Vytváření objektů, které jsou neměnné po jejich inicializaci, znamená, že jakmile je objekt vytvořen a jeho pole jsou nastavena, stav tohoto objektu nemůže být změněn. Takové objekty se nazývají immutable (neměnné).
V C# je toho dosaženo například pomocí:
- deklarace polí jako
readonly; - absence setterů u vlastností (pouze gettery);
- inicializace všech dat přes konstruktor.
Výhody neměnných objektů:
- bezpečnost vlákna bez dodatečné synchronizace.
- zjednodušení porozumění kódu, protože stav objektu se nemění.
- použití jako klíče v kolekcích a cache.
Příklad:
public class Person
{
public string Name { get; }
public int Age { get; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
Po vytvoření instance Person její vlastnosti nelze změnit.