Sobes.tech
Junior — Middle

Vysvetlite, čo znamená vytváranie objektov, ktoré sú nezmeniteľné po ich inicializácii.

sobes.tech AI

Odpoveď od AI

Vytváranie objektov, ktoré sú nezmeniteľné po ich inicializácii, znamená, že akonáhle je objekt vytvorený a jeho polia sú nastavené, stav tohto objektu nemôže byť zmenený. Takéto objekty sa nazývajú immutable (nezmeniteľné).

V C# je to dosiahnute napríklad pomocou:

  • deklarácie polí ako readonly;
  • absencie setterov v vlastnostiach (len getter);
  • inicializácie všetkých dát cez konštruktor.

Výhody immutable objektov:

  • bezpečnosť v multithread prostredí bez dodatočnej synchronizácie.
  • zjednodušenie porozumenia kódu, pretože stav objektu sa nemení.
  • použitie ako kľúče v kolekciách a cache.

Príklad:

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

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

Po vytvorení inštancie Person jej vlastnosti nie je možné zmeniť.