Sobes.tech
Back to questions
Junior — Middle
139

Объясните концепцию Generics в языке Dart и как она помогает в написании гибкого кода.

Answer from AI

sobes.tech AI

Generics в Dart позволяют создавать классы, методы и функции, которые работают с разными типами данных, сохраняя при этом типовую безопасность. Это значит, что вы можете писать более универсальный и повторно используемый код, не жертвуя проверкой типов во время компиляции.

Например, вместо создания отдельного списка для каждого типа данных, можно использовать обобщённый List<T>, где T — параметр типа. Это помогает избежать ошибок, связанных с неправильным типом данных, и улучшает читаемость кода.

Пример:

class Box<T> {
  T content;
  Box(this.content);

  void showContent() {
    print('Содержимое: $content');
  }
}

void main() {
  var intBox = Box<int>(123);
  intBox.showContent(); // Содержимое: 123

  var stringBox = Box<String>('Привет');
  stringBox.showContent(); // Содержимое: Привет
}

Таким образом, Generics помогают писать гибкий, безопасный и легко поддерживаемый код.