Junior — Middle
Как е реализирана поддръжката за обобщени типове в езика Dart?
sobes.tech AI
Отговор от AI
В езика Dart поддръжката за обобщени типове се реализира чрез параметризация на класове, методи и функции с типове. Това позволява създаването на универсални компоненти, които работят с различни типове данни, като същевременно запазват типовата безопасност.
Обобщените типове в Dart се задават с помощта на ъглови скоби <T>, където T е параметър на типа.
Пример за обобщен клас:
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>("здравей");
intBox.updateValue(456);
strBox.updateValue("свят");
}
Dart поддържа ограничения за параметрите на типа (граници), например:
class NumberBox<T extends num> {
T value;
NumberBox(this.value);
}
По този начин, обобщените типове в Dart са реализирани на ниво език с поддръжка за параметризация и ограничения, което позволява писането на гъвкав и типобезопасен код.