Sobes.tech
Junior — Middle

Hogyan valósítjuk meg egy olyan objektumot, amelynek tulajdonságait nem lehet módosítani a létrehozás után?

sobes.tech MI

Válasz az MI-től

Flutter (Dart) környezetben az immutable tulajdonságokkal rendelkező objektum létrehozásához általában a final kulcsszót használják az osztály mezőihez. Ez azt jelenti, hogy az érték csak egyszer, az objektum létrehozásakor állítható be. Létrehozhatunk olyan osztályt is, amelynek konstruktorában minden mezőt inicializálunk, és nem adunk meg settereket.

Példa:

class User {
  final String name;
  final int age;

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

void main() {
  var user = User('Alice', 30);
  // user.name = 'Bob'; // Hiba, nem módosítható
}

Ha teljesen változatlan objektumra van szükség, használhatunk const konstruktorokat is, de ehhez minden mezőnek final-nak kell lennie, és konstans értékekkel kell rendelkeznie.