Sobes.tech
Junior — Middle

Hogyan valósul meg a generikus típusok támogatása a Dart nyelvben?

sobes.tech MI

Válasz az MI-től

A Dart nyelvben az általános típusok támogatása osztályok, metódusok és függvények típusokkal való paraméterezésével valósul meg. Ez lehetővé teszi univerzális komponensek létrehozását, amelyek különböző adat típusokkal működnek, miközben megőrzik a típusbiztonságot.

Az általános típusokat Dartban szögletes zárójelek <T> segítségével definiálják, ahol T egy típusparaméter.

Példa egy általános osztályra:

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

  intBox.updateValue(456);
  strBox.updateValue("világ");
}

A Dart támogatja a típusparaméterek korlátait (határokat) is, például:

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

Így a Dartban az általános típusokat nyelvi szinten valósítják meg, paraméterezéssel és korlátokkal, lehetővé téve rugalmas és típusbiztos kód írását.