Junior — Middle
Como é que o suporte para tipos genéricos é implementado na linguagem Dart?
sobes.tech IA
Resposta da IA
Na linguagem Dart, o suporte para tipos genéricos é implementado através da parametrização de classes, métodos e funções com tipos. Isto permite criar componentes universais que funcionam com diferentes tipos de dados, mantendo a segurança de tipos.
Os tipos genéricos em Dart são definidos usando colchetes angulares <T>, onde T é um parâmetro de tipo.
Exemplo de uma classe genérica:
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>("olá");
intBox.updateValue(456);
strBox.updateValue("mundo");
}
O Dart suporta restrições de parâmetros de tipo (limites), por exemplo:
class NumberBox<T extends num> {
T value;
NumberBox(this.value);
}
Assim, os tipos genéricos em Dart são implementados ao nível da linguagem com suporte para parametrização e restrições, permitindo escrever código flexível e seguro em termos de tipos.