Sobes.tech
Junior — Middle

Kā tiek īstenota vispārīgo tipu atbalsts Dart valodā?

sobes.tech AI

Atbilde no AI

Dart valodā atbalsts vispārīgiem tipiem tiek īstenots, parametrizējot klases, metodes un funkcijas ar tipiem. Tas ļauj izveidot universālas komponentes, kas darbojas ar dažādiem datu tipiem, vienlaikus saglabājot tipu drošību.

Vispārīgie tipi Dart valodā tiek definēti, izmantojot leņķa iekavas <T>, kur T ir tipa parametrs.

Piemērs vispārīgai klasei:

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

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

Dart arī atbalsta tipu parametru ierobežojumus (robežas), piemēram:

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

Tādējādi, vispārīgie tipi Dart valodā tiek īstenoti valodas līmenī ar parametru un ierobežojumu atbalstu, ļaujot rakstīt elastīgu un tipu drošu kodu.