Junior — Middle
Jak je v jazyce Dart implementována podpora obecných typů?
sobes.tech AI
Odpověď od AI
V jazyce Dart je podpora generických typů realizována parametrizací tříd, metod a funkcí pomocí typů. To umožňuje vytvářet univerzální komponenty, které pracují s různými datovými typy, přičemž zachovávají typovou bezpečnost.
Generické typy v Dart jsou definovány pomocí hranatých závorek <T>, kde T je parametr typu.
Příklad generické třídy:
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("svět");
}
Dart také podporuje omezení parametrů typu (hranice), například:
class NumberBox<T extends num> {
T value;
NumberBox(this.value);
}
Tímto způsobem jsou generické typy v Dart implementovány na úrovni jazyka s podporou parametrizace a omezení, což umožňuje psaní flexibilního a typově bezpečného kódu.