Sobes.tech
Junior — Middle

Cum este implementată suportul pentru tipurile generice în limbajul Dart?

sobes.tech AI

Răspuns de la AI

În limbajul Dart, suportul pentru tipuri generice este implementat prin parametrizarea claselor, metodelor și funcțiilor cu tipuri. Acest lucru permite crearea de componente universale care lucrează cu diferite tipuri de date, menținând în același timp siguranța tipurilor.

Tipurile generice în Dart sunt definite folosind paranteze unghiulare <T>, unde T este un parametru de tip.

Exemplu de clasă generică:

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>("salut");

  intBox.updateValue(456);
  strBox.updateValue("lume");
}

Dart suportă, de asemenea, restricții pentru parametrii de tip (limite), de exemplu:

class NumberBox<T extends num> {
  T value;
  NumberBox(this.value);
}

Astfel, tipurile generice în Dart sunt implementate la nivelul limbajului cu suport pentru parametrizare și restricții, ceea ce permite scrierea de cod flexibil și sigur din punct de vedere al tipurilor.