Sobes.tech
Junior — Middle

Jak je v jazyce Dart implementována podpora obecných typů?

sobes.tech AI

Odpověď od AI

V jazyce Dart je podpora generických typů realizována parametrizací tříd, metod a funkcí pomocí typů. To umožňuje vytvářet univerzální komponenty, které pracují s různými datovými typy, přičemž zachovávají typovou bezpečnost.

Generické typy v Dart jsou definovány pomocí hranatých závorek <T>, kde T je parametr typu.

Příklad generické třídy:

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("svět");
}

Dart také podporuje omezení parametrů typu (hranice), například:

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

Tímto způsobem jsou generické typy v Dart implementovány na úrovni jazyka s podporou parametrizace a omezení, což umožňuje psaní flexibilního a typově bezpečného kódu.