0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dart:Class modifiers のドキュメントを読む ~ mixin~

Last updated at Posted at 2024-04-07

Mixin classの使い方

  • 前提
    • abstract classが存在する

あるクラス(インスタンス)に、abstract classが持つ抽象メソッドの他に、別のクラスの持つメソッドも使わせたい場合に Mixinが便利。

例えば、Animal classを作成する。
Animal classには、すべての動物が行う行為であるBreathを定義する。

そして、動物の種類によって、行うことができる・できないが別れる行為(吠える、泳ぐ、飛ぶ)など
をmixin classとして定義する。

犬クラスを作成するときには、Animal classを継承させるとともに Bark(吠える) classをmixinすることで、犬クラスでは、 犬クラス内でBreath()とBark()を定義せずに、呼び出すことができる。

abstract class Animal{
  void Breath(){
     print("breath);
  }
} 

mixin Bark{
 void bark() => print("Bark");
}

Mixin classを使いたいときは with をつける。

class Dog extends Animal with Bark{}

main(){
  var dog = new Dog();
  dog.breath();
  dog.bark();
}

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?