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.