Sobes.tech
Junior — Middle

Magyarázza el, mit jelent az objektumok létrehozása, amelyek az inicializálásuk után változatlanok.

sobes.tech MI

Válasz az MI-től

Az objektumok, amelyek az inicializálásuk után nem változnak, létrehozása azt jelenti, hogy miután az objektum létrejött és mezői beállításra kerültek, az állapota nem módosítható. Ezeket az objektumokat immutable (változatlan) néven is ismert.

C#-ban ez például a következő módon érhető el:

  • mezők readonly-ként való deklarálásával;
  • tulajdonságoknál csak getterek, setterek nélkül;
  • minden adat inicializálása a konstruktoron keresztül.

Az immutable objektumok előnyei:

  • szálbiztonság további szinkronizáció nélkül.
  • a kód megértésének egyszerűsítése, mivel az objektum állapota nem változik.
  • kulcsként való használat kollekciókban és cache-ekben.

Példa:

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

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

Az Person példány létrehozása után tulajdonságai nem módosíthatók.