Sobes.tech
Junior — Middle

Kaip įgyvendinti objektą, kurio savybės negali būti pakeistos po jo sukūrimo?

sobes.tech AI

Atsakymas iš AI

Flutter (Dart) aplinkoje, norint sukurti objektą su nekintamomis savybėmis, dažniausiai naudojama klasės laukų raktažodis final. Tai reiškia, kad savybės reikšmė gali būti nustatyta tik vieną kartą — kuriant objektą. Taip pat galima sukurti klasę su konstruktoriu, kuris inicializuoja visus laukus ir nesiūlo setterių.

Pavyzdys:

class User {
  final String name;
  final int age;

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

void main() {
  var user = User('Alice', 30);
  // user.name = 'Bob'; // Klaida, negalima keisti
}

Jei reikia visiškai nekintamo objekto, galima naudoti const konstruktorių, tačiau tam visi laukai turi būti final ir turėti konstantines reikšmes.