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(变量声明)。
评论前必须登录!
注册