Dart中内置常用元数据@deprecated、@override、@proxy、@required和自定义元数据

本文介绍了元数据在软件开发中的重要角色,如元数据的定义、@deprecated的废弃标记、@override重写、@proxy代理和@required参数约束。此外,展示了如何自定义元数据和使用它们来增强代码组织。重点关注了关键注解及其在项目维护中的作用。
摘要由CSDN通过智能技术生成

元数据:主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。

1、@deprecated被弃用的

含义:若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。

作用:因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了。

2、@override 重写父类方法(利用元数据override重写父类方法)

3、@proxy 代理

4、@required 来标记一个参数,表示这个参数必须要传值。

  1. 告诉编译器这个参数必须要传值
  2. 告诉读代码的人,这个参数必须要填写

5、定义自己的元数据

通过library来定义一个库,在库中定义一个相同名字的class,然后在类中定义const 构造方法。

MyHomePage({Key key, @required this.title}) : super(key:key);
//自定义元数据@todo
library todo; //library封装了个todo的库
 
class todo {
  final String who;
  final String what;
  //和普通实例化类,不一样,前面多了个const
  const todo(this.who, this.what);
}

// 使用
import 'todo.dart';
 
@todo('seth', 'make this do something')
void doSomething() {
  print('do something');
}

6、元数据可以修饰以下内容

◦ library(库),
◦ class(类),
◦ typedef(类型定义),
◦ type parameter(类型参数),
◦ constructor(构造函数),
◦ factory(工厂函数),
◦ function(函数),
◦ field(作用域),
◦ parameter(参数),
◦ variable declaration(变量声明)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值