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.