Sobes.tech
Junior — Middle

Jak je implementován objekt, jehož vlastnosti nelze po jeho vytvoření změnit?

sobes.tech AI

Odpověď od AI

V Flutteru (Dart) pro vytváření objektů s neměnitelnými vlastnostmi se obvykle používá klíčové slovo final pro pole třídy. To znamená, že hodnota vlastnosti může být nastavena pouze jednou — při vytváření objektu. Můžete také vytvořit třídu s konstruktor, který inicializuje všechna pole a neposkytuje nastavovače.

Příklad:

class User {
  final String name;
  final int age;

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

void main() {
  var user = User('Alice', 30);
  // user.name = 'Bob'; // Chyba, nelze změnit
}

Pokud potřebujete zcela neměnitelný objekt, můžete použít konstruktor const, ale pro to musí být všechna pole final a mít konstantní hodnoty.