#code #flutter

Sur Dart, une classe donnée ne peut extend qu’une seule autre classe à la fois. Cependant, il est possible d’utiliser un ou plusieurs mixins.

Les Mixins sont déclarés avec le keyword mixin (plutôt que class) et peuvent implémenter une ou plusieurs méthodes, qui seront donc accessible à la classe qui utilise le mixin.

Note : Les Mixins ne peuvent pas implémenter de constructeur.

Si un mixin override une méthode, il est possible d’utiliser super.laFonction() pour exécuter également la fonction originelle. Cette technique est utilisée par le Frame Flutter pour initialiser tous les Bindings (qui sont des mixins) via la fonction initInstances(): chaque invocation commence par super.initInstances(), permettant d’appeler la méthode récursivement sur les autres Bindings.

Documentation Dart : https://dart.dev/language/mixins