Back to questions
Junior — Middle
155
В каком виде реализована поддержка обобщенных типов в языке Dart?
Answer from AI
sobes.tech AI
В языке Dart поддержка обобщённых типов (generics) реализована через параметризацию классов, методов и функций типами. Это позволяет создавать универсальные компоненты, которые работают с разными типами данных, сохраняя при этом типобезопасность.
Обобщённые типы в 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>("hello");
intBox.updateValue(456);
strBox.updateValue("world");
}
Dart поддерживает ограничение параметров типа (bounds), например:
class NumberBox<T extends num> {
T value;
NumberBox(this.value);
}
Таким образом, обобщённые типы в Dart реализованы на уровне языка с поддержкой параметризации и ограничений, что позволяет писать гибкий и типобезопасный код.