Dart 元数据

Dart 元数据,使用元数据可以给代码添加更多信息。元数据是以@开始的修饰符,在@后面为编译时的常量或调用一个常量构造函数。目前Dart语言提供三个@修饰符:

  • @deprecated:被弃用的。
  • @override:重写。
  • @proxy:代理。

使用@override修饰符可以重写父类方法。修改继承类中的示例,重写人类的eat方法,代码如下所示:

// 动物类
class Animal {


  // 动物会吃
  void eat(){
    print('动物会吃');
  }
  // 动物会跑
  void run(){
    print('动物会跑');
  }
}
// 人类
class Human extends Animal {


  // 人类会说
  void say(){
    print('人类会说');
  }


  // 人类会学习
  void study(){
    print('人类会学习');
  }


  @override
  // 人类也会吃
  void eat(){
    print('人类也会吃');
  }
}


main() {


  print('实例化一个动物类');
  var animal = Animal();
  animal.eat();
  animal.run();


  print('实例化一个人类');
  var human = Human();
  human.eat();
  human.run();
  human.say();
    human.study();
  }

上面的代码输出结果如下,输出的“人类也会吃”表明重写了父类的方法:

flutter: 实例化一个动物类
flutter: 动物会吃
flutter: 动物会跑
flutter: 实例化一个人类
flutter: 人类也会吃
flutter: 动物会跑
flutter: 人类会说
flutter: 人类会学习

元数据可以修饰library(库)、class(类)、typedef(类型定义)、type parameter(类型参数)、constructor(构造函数)、factory(工厂函数)、function(函数)、field(作用域)、parameter(参数)、variable declaration(变量声明)。

赞(0)

评论 抢沙发

评论前必须登录!