【Flutter/Dart】クラスの拡張|mixin

mixin
スポンサーリンク

mixinとは?

mixinの役割を簡潔に言うと「クラスの機能を拡張するためのクラス」です。mixinはクラス単体では使用できず、classで定義されたクラスを拡張する時だけに使用できます。また、mixinで定義された複数のクラスをクラスで使用できます。

>>【Dart】クラスの継承 Part2|extends/super/@override

mixinの定義

//クラスを拡張
class クラス名 with クラス名A, クラス名B{ ... }

//mixinの定義
mixin クラス名A{ ... }
mixin クラス名B{ ... }
//例
void main() {
  Dog dog = Dog();
  dog.walk(); //「I can walk」が出力
  dog.eat(); //「I can eat」が出力
}

//mixinでクラスを拡張
class Dog with Walk, Eat{}

//mixinの定義A
mixin Walk{
  void walk(){
    print('I can walk');
  }
}

//mixinの定義B
mixin Eat{
  void eat(){
    print('I can eat');
  }
}

//出力
//I can walk
//I can eat

クラスを拡張するには、まずmixinでクラスを定義し、定義したクラスをwithを使って拡張したいクラスに追加します。また、好きなだけmixinのクラスを追加できます。

参考

タイトルとURLをコピーしました