Sobes.tech
Junior — Middle

Kuidas on Dart keeles üldtüüpide tugi rakendatud?

sobes.tech AI

Vastus AI-lt

Dart keeles üldtüüpide tugi realiseeritakse klasside, meetodite ja funktsioonide tüüpi parametriseerimise kaudu. See võimaldab luua universaalseid komponente, mis töötavad erinevate andmetüüpidega, säilitades samal ajal tüübi turvalisuse.

Üldtüübid Dartis määratletakse nurksulgude <T> abil, kus T on tüübi parameeter.

Näide üldklassist:

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

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

Dart toetab ka tüüpi piiranguid (piirid), näiteks:

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

Seega, üldtüübid Dartis on rakendatud keele tasandil toetusega parametriseerimise ja piirangute osas, mis võimaldab kirjutada paindlikku ja tüübiturvalist koodi.