Sobes.tech
Junior — Middle

Чӣ гуна дастгирии намудҳои умумӣ дар забони Dart амалӣ карда шудааст?

sobes.tech AI

Ҷавоб аз AI

Дар тилида, умумий турлар ёрдамида класслар, методлар ва функцияларни параметрлаш орқали қўллаб-қувватлаш амалга оширилади. Бу турли маълумот турлари билан ишлашга имкон берадиган универсал компонентларни яратишга ва шу билан бирга тур хавфсизлигини сақлашга ёрдам беради.

Дарда умумий турлар <T> ёзуви орқали белгиланади, бу ерда T тур параметридир.

Умумий класснинг мисоли:

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>("салом");

  intBox.updateValue(456);
  strBox.updateValue("дунё");
}

Дарда тур параметрларининг чекловлари (чегаралари) ҳам қўллаб-қувватланади, масалан:

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

Шу тариқа, дар тилида умумий турлар тил даражасида параметрлаш ва чекловлар билан амалга оширилган бўлиб, бу элаки ва тур хавфсиз код ёзишга имконият яратади.