[OSAM]DART言語ベース(10)Class[#5]インタフェース、mixin


> Interface


インタフェース:クラスを定義するときに含める変数と関数を指定します!=>強制性を高める!
  • 抽象クラス
  • と宣言
  • implementsキーワード使用!
  • 形を宣言すればいい!
  • abstract class Food{
      String name;
      void sayName();
    }
    
    class Pizza implements Food{
      String name = "pizza";
      void sayName(){ //일종의 overiding
        print("이 음식은 피자입니다");
      }
    }

    > mixin


    継承は多形性が成立したときにのみ使用できます!
    例えば、自動車のBMWは継承することができて、エンジンのBMWは継承することができません!
    このとき使えるのはmixin!
    キーワード
  • を使用!親子
  • class Engine{
      int power = 5000;
    }
    
    class BMW with Engine{ }
    
    void main(){
      BMW bm = new BMW();
      print(bm.power);
    }