Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, jak używany jest operator 'with' w języku Dart i jaką pełni rolę?

sobes.tech AI

Odpowiedź od AI

W języku Dart operator with jest używany do implementacji mixinów — sposobu dodawania funkcjonalności do klasy bez dziedziczenia po innej klasie. Za pomocą with klasa może «wymieszać» metody i właściwości z jednego lub więcej mixinów.

Przykład użycia with:

mixin Logger {
  void log(String message) {
    print('Log: $message');
  }
}

class Person with Logger {
  String name;
  Person(this.name);
}

void main() {
  var p = Person('Alice');
  p.log('Cześć!'); // Wyświetli: Log: Cześć!
}

W ten sposób with pozwala na rozszerzenie możliwości klasy bez konieczności korzystania z złożonej hierarchii dziedziczenia.