Sobes.tech
Junior — Middle

Paaiškinkite, ką reiškia sukurti objektus, kurie yra nekeičiami po jų inicializacijos.

sobes.tech AI

Atsakymas iš AI

Sukurti objektus, kurie yra nekeičiami po jų inicializavimo, reiškia, kad kai objektas sukurtas ir jo laukai nustatyti, šio objekto būseną pakeisti nebegalima. Tokie objektai vadinami immutable (nekeičiami).

C# tai pasiekiama, pavyzdžiui, naudojant:

  • laukų deklaravimą kaip readonly;
  • savybių be setterių (tik getteriai);
  • visų duomenų inicializavimą per konstruktorių.

Nekeičiamių objektų privalumai:

  • saugumas keliuose gijų kontekstuose be papildomos sinchronizacijos.
  • kodo supratimo palengvinimas, nes objekto būsena nekeičiama.
  • naudojimas kaip raktai kolekcijose ir talpyklose.

Pavyzdys:

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

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

Po Person objekto sukūrimo, jo savybės negali būti keičiamas.