Junior — Middle
Πώς υλοποιείται η αποθήκευση αντικειμένων με αμετάβλητα χαρακτηριστικά;
sobes.tech AI
Απάντηση από AI
Στο Flutter (Dart), για την αποθήκευση αντικειμένων με αμετάβλητα χαρακτηριστικά, συνήθως χρησιμοποιούνται κλάσεις με τελικές μεταβλητές (final). Αυτό σημαίνει ότι, μετά τη δημιουργία ενός αντικειμένου, οι τιμές αυτών των πεδίων δεν μπορούν να αλλάξουν. Αυτή η προσέγγιση διασφαλίζει την αμετάβλητη φύση του αντικειμένου.
Παράδειγμα:
class User {
final String name;
final int age;
User(this.name, this.age);
}
void main() {
final user = User('Ivan', 30);
// user.name = 'Petr'; // Σφάλμα μεταγλώττισης, επειδή το name είναι final
}
Επίσης, μπορούν να χρησιμοποιηθούν πακέτα όπως το freezed ή το built_value, που βοηθούν στη δημιουργία αμετάβλητων αντικειμένων με βολικές μεθόδους αντιγραφής και σύγκρισης.