第14章Mixin混入-mixin_animal

 

//mixin_animal.dart文件
void main(){
  //實例化Cat類
  Cat cat = Cat();
  cat.printInfo();
  //具備走路功能
  cat.walk();

  //實例化Dove類
  Dove dove = Dove();
  dove.printInfo();
  //具備走路功能
  dove.walk();
  //具備飛的功能
  dove.fly();
}


//貓類 繼承Mammal類 混入Walker類
class Cat extends Mammal with Walker {

  //輸出信息方法
  void printInfo(){
    print('我是一隻小貓');
  }
}

//蝙蝠類 繼承Bird類 混入Walker及Flyer類
class Dove extends Bird with Walker, Flyer {

  //輸出信息方法
  void printInfo(){
    print('我是一隻蝙蝠');
  }
}

//動物類
abstract class Animal {

}

//哺乳動物類
abstract class Mammal extends Animal {

}

//鳥類
abstract class Bird extends Animal {

}

//魚類
abstract class Fish extends Animal {

}

//抽象類 行走類
abstract class Walker {

  //工廠構造方法 仿止實例化
  factory Walker._() => null;

  void walk() {
    print("我會走路");
  }
}


//抽象類 游泳類
abstract class Swimmer {

  //工廠構造方法 仿止實例化
  factory Swimmer._() => null;

  //游泳方法
  void swim() {
    print("我會游泳");
  }

}

//抽象類 飛類
abstract class Flyer{

  //工廠構造方法 仿止實例化
  factory Flyer._() => null;

  //飛方法
  void fly() {
    print("我會飛");
  }

}



行走類
//class Walker {
//
//  //行走方法
//  void walk() {
//    print("我會走路");
//  }
//
//}
//
游泳類
//class Swimmer {
//
//  //游泳方法
//  void swim() {
//    print("我會游泳");
//  }
//
//}
//
飛類
//class Flyer{
//
//  //飛方法
//  void fly() {
//    print("我會飛");
//  }
//
//}
相關文章
相關標籤/搜索