Sobes.tech
Junior — Middle

Ako je implementovaná podpora pre generické typy v jazyku Dart?

sobes.tech AI

Odpoveď od AI

V jazyku Dart je podpora za generické typy realizovaná prostredníctvom parametrizácie tried, metód a funkcií s typmi. To umožňuje vytvárať univerzálne komponenty, ktoré pracujú s rôznymi dátovými typmi, pričom zachovávajú typovú bezpečnosť.

Generické typy v Dart sú definované pomocou uhorských zátvoriek <T>, kde T je parameter typu.

Príklad generickej triedy:

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

Dart tiež podporuje obmedzenia pre parametre typu (hranice), napríklad:

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

Týmto spôsobom sú generické typy v Dart implementované na úrovni jazyka s podporou parametrizácie a obmedzení, čo umožňuje písanie flexibilného a typovo bezpečného kódu.