Junior — Middle
Ako je implementovaná podpora pre generické typy v jazyku Dart?
sobes.tech AI
Odpoveď od AI
V jazyku Dart je podpora za generické typy realizovaná prostredníctvom parametrizácie tried, metód a funkcií s typmi. To umožňuje vytvárať univerzálne komponenty, ktoré pracujú s rôznymi dátovými typmi, pričom zachovávajú typovú bezpečnosť.
Generické typy v Dart sú definované pomocou uhorských zátvoriek <T>, kde T je parameter typu.
Príklad generickej triedy:
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>("ahoj");
intBox.updateValue(456);
strBox.updateValue("svet");
}
Dart tiež podporuje obmedzenia pre parametre typu (hranice), napríklad:
class NumberBox<T extends num> {
T value;
NumberBox(this.value);
}
Týmto spôsobom sú generické typy v Dart implementované na úrovni jazyka s podporou parametrizácie a obmedzení, čo umožňuje písanie flexibilného a typovo bezpečného kódu.