Junior — Middle
Come viene implementato il supporto per i tipi generici nel linguaggio Dart?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Dart, il supporto per i tipi generici viene implementato tramite la parametrizzazione di classi, metodi e funzioni con tipi. Questo permette di creare componenti universali che lavorano con diversi tipi di dati, mantenendo la sicurezza di tipo.
I tipi generici in Dart sono definiti usando le parentesi angolari <T>, dove T è un parametro di tipo.
Esempio di una classe generica:
class Box<T> {
T value;
Box(this.value);
void updateValue(T newValue) {
value = newValue;
}
}
void main() {
var intBox = Box<int>(123);
var strBox = Box<String>("ciao");
intBox.updateValue(456);
strBox.updateValue("mondo");
}
Dart supporta anche le restrizioni sui parametri di tipo (limiti), ad esempio:
class NumberBox<T extends num> {
T value;
NumberBox(this.value);
}
In questo modo, i tipi generici in Dart sono implementati a livello del linguaggio con supporto per la parametrizzazione e le restrizioni, consentendo di scrivere codice flessibile e sicuro in termini di tipi.