Sobes.tech
Junior — Middle

Jak zaimplementować obiekt, którego właściwości nie można zmienić po jego utworzeniu?

sobes.tech AI

Odpowiedź od AI

W Flutter (Dart) do tworzenia obiektu z niezmiennymi właściwościami zwykle używa się słowa kluczowego final dla pól klasy. Oznacza to, że wartość właściwości można ustawić tylko raz — podczas tworzenia obiektu. Można też utworzyć klasę z konstruktorem, który inicjalizuje wszystkie pola i nie udostępnia setterów.

Przykład:

class User {
  final String name;
  final int age;

  User(this.name, this.age);
}

void main() {
  var user = User('Alice', 30);
  // user.name = 'Bob'; // Błąd, nie można zmienić
}

Jeśli potrzebny jest całkowicie niezmienny obiekt, można użyć konstruktora const, ale wtedy wszystkie pola muszą być final i mieć wartości stałe.