首页 > 建站教程 > dart >  dart笔记24:dart内置常用的元数据和自定义元数据正文

dart笔记24:dart内置常用的元数据和自定义元数据

一、@deprecated 被弃用的
使用时,代码提示会有删除线,但能正常使用:
void main() {
  Mobile mobile = Mobile();
  // ignore: deprecated_member_use_from_same_package
  mobile.netWork2G();
}

class Mobile {
  @deprecated
  void netWork2G() {
    print('手机使用2G网络');
  }

  void netWork3G() {
    print('手机使用3G网络');
  }

  void netWork4G() {
    print('手机使用4G网络');
  }

  void netWork5G() {
    print('手机使用5G网络');
  }
}


二、@override 重写
    重写父类方法:
class Animal {
  void eat() {
    print('动物吃东西');
  }
}

class Human extends Animal {
  void say() {
    print('人类会说话');
  }

  //利用元数据override重写父类方法
  @override
  void eat() {
    print('人类会吃饭');
  }
}
三、@proxy 代理

四、@required 参数必传
MyHomePage({Key key, @required this.title}) : super(key:key);
五、自定义元数据
custom_metadata_todo.dart文件
//自定义元数据@todo

library todo; //library封装了个todo的库

class Todo {
  final String name;
  final String content;
  //和普通实例化类,不一样,前面多了个const
  const Todo(this.name, this.content);
}
main.dart文件
import 'custom_metadata_todo.dart';

void main() {
  Test test = Test();
}

class Test {
  @Todo('张三', '做什么事')
  void doSomeThing() {
    print('do something');
  }
}