Dart系列(十二) 一个类实现多个接口 mixins (with)


发文时间:2021年03月06日 02:14:46     编辑:Aaron      标签:记录Dart语言的学习历程 501


Dart是谷歌开发的计算机编程语言,后来被Ecma (ECMA-408)认定为标准。它被用于web、服务器、移动应用和物联网等领域的开发。

混合 mixins (with)

  mixins的中文意思是混入,就是在类中混入其他功能。在Dart中可以使用mixins实现类似多继承的功能因为mixins使用的条件,随着Dart版本一直在变,这里说的是Dart2.x中使用mixins的条件:

(1) 作为mixins的类只能继承自Object,不能继承其他类

(2) 作为mixins的类不能有构造函数

(3) 一个类可以mixins多个mixins类

(4) mixins绝不是继承,也不是接口,而是一种全新的特性

详细可参考这个链接写的很棒 点我点我

/*
继承多个类  mixins(with)
 */

class A{
  printA(){
    print('a');
  }
}


class  B{
  printB(){
    print('b');
  }
}



class Pdata{
  printdata(){
    print('pdata');
  }
}

//假设需要一个类可以链接ab类的方法
class Web with A,B{

}

//假设让一个方法 继承Pdata 和继承AB类
class Wed extends Pdata with A,B{
}


main(){
  //调用 ab类中的方法
  Web w=new Web();
  w.printA();
  w.printB();

  /*
  假设两个方法中有重复的方法 那么优先级是
  A,B  执行后面的方法(执行B的方法)
   */


  print('------------分隔符 -----------');

  //调用三种都有的类
  Wed d=new Wed();
  d.printA();
  d.printB();
  d.printdata();

  /*
  假设三种方法里都有 相同的方法 那么优先级是
  class Wed extends Pdata with A,B
  从A开始输出方法 

   */
}


 

若无特殊说明,此文章为博主原创。
写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/43.html




SITE MAP

  FOLLOW US