Sobes.tech
Junior — Middle

Leg uit wat het betekent om objecten te maken die onveranderlijk zijn na hun initialisatie.

sobes.tech AI

Antwoord van AI

Het maken van objecten die na hun initialisatie niet kunnen worden gewijzigd, betekent dat zodra het object is gemaakt en de velden zijn ingesteld, de toestand van dat object niet kan worden gewijzigd. Deze objecten worden immutable (onveranderlijk) genoemd.

In C# wordt dit bijvoorbeeld bereikt door:

  • velden te declareren als readonly;
  • geen setters te hebben voor eigenschappen (alleen getters);
  • alle gegevens via de constructor te initialiseren.

Voordelen van immutable objecten:

  • Thread-veiligheid zonder extra synchronisatie.
  • Vereenvoudiging van het begrijpen van de code, omdat de toestand van het object niet verandert.
  • Gebruik als sleutels in collecties en caches.

Voorbeeld:

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

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

Na het maken van een Person-instantie kunnen de eigenschappen niet worden gewijzigd.