Sobes.tech
Junior — Middle

Kuidas rakendada objekti, mille omadusi pärast selle loomist muuta ei saa?

sobes.tech AI

Vastus AI-lt

Flutter (Dart) keskkonnas, et luua objekt, mille omadused on muutumatud, kasutatakse tavaliselt klassi väljade jaoks märksõna final. See tähendab, et omaduse väärtus saab määrata ainult üks kord — objekti loomisel. Samuti saab luua klassi, mille konstruktor initsialiseerib kõik väljad ja ei paku settereid.

Näide:

class User {
  final String name;
  final int age;

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

void main() {
  var user = User('Alice', 30);
  // user.name = 'Bob'; // Viga, ei saa muuta
}

Kui vaja täiesti muutumatut objekti, saab kasutada const konstruktorit, kuid selleks peavad kõik väljad olema final ja omama konstantsed väärtused.