Sobes.tech
Junior — Middle

Πώς υλοποιείται ένα αντικείμενο των οποίων οι ιδιότητες δεν μπορούν να αλλάξουν μετά τη δημιουργία του;

sobes.tech AI

Απάντηση από AI

Στο Flutter (Dart), για τη δημιουργία ενός αντικειμένου με αμετάβλητα χαρακτηριστικά, συνήθως χρησιμοποιείται η λέξη-κλειδί final για τα πεδία της κλάσης. Αυτό σημαίνει ότι η τιμή της ιδιότητας μπορεί να οριστεί μόνο μία φορά — κατά τη δημιουργία του αντικειμένου. Μπορείτε επίσης να δημιουργήσετε μια κλάση με έναν κατασκευαστή που αρχικοποιεί όλα τα πεδία και δεν παρέχει setters.

Παράδειγμα:

class User {
  final String name;
  final int age;

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

void main() {
  var user = User('Alice', 30);
  // user.name = 'Bob'; // Σφάλμα, δεν μπορεί να αλλάξει
}

Αν χρειάζεται ένα πλήρως αμετάβλητο αντικείμενο, μπορείτε να χρησιμοποιήσετε έναν κατασκευαστή const, αλλά για αυτό όλα τα πεδία πρέπει να είναι final και να έχουν σταθερές τιμές.