【dart学习】 您所在的位置:网站首页 dart类作用域 【dart学习】

【dart学习】

2023-11-05 01:52| 来源: 网络整理| 查看: 265

一,概述 元数据概述

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

元数据定义

    元数据(Metadata)是描述其它数据的数据(data about other data),或者说是用于提供某种资源的有关信息的结构数据(structured data)。元数据是描述信息资源或数据等对象的数据,其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。 

元数据(MetaData)如何理解元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。

(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈! 这段话里提供了这样几个信息:年龄(三十岁上下)、身高(个子高挑)、相貌(身材匀称,黑黑的眉毛,红红的脸蛋)、性格(活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑)。有了这些信息,我们就可以大致想像出瓦莲卡是个什么样的人。推而广之,只要提供这几类的信息,我们也可以推测出其他人的样子。

    这个例子中的"年龄"、"身高"、"相貌"、"性格",就是元数据,因为它们是用来描述具体数据/信息的数据/信息。

二,dart中元数据 使用元数据给代码添加更多的信息。 元数据是以@开始的修饰符,在@后面接着编译时的常量或调用一个常量构造函数。 目前dart语言提供三个@修饰符: (注解) - @deprecated 被弃用的。   含义:若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。 作用:因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了。 class Television { @deprecated void activate(){ turnOn(); } void turnOn(){ print('Television Turn On!'); } } main(){ dynamic tv = new Television(); tv.activate(); tv.turnOn(); }

打印结果:

[Running] dart "/var/folders/l1/jvw4fvds26320gck06xj7xdh0000gn/T/tempCodeRunnerFile.dart" Television Turn On! Television Turn On! (注解) - @override重写。 帮助自己检查是否正确的复写了父类中已有的方法 告诉读代码的人,这是一个复写的方法 //动物类 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 = new Animal(); animal.eat(); animal.run(); print('实例话一个人类'); var human = new Human(); human.eat(); human.run(); human.say(); human.study(); } @proxy 代理。

@required 来标记一个参数,表示这个参数必须要传值。 告诉编译器这个参数必须要传值 告诉读代码的人,这个参数必须要填写 MyScaffold({Key key,@required this.items}):super(key:key);

定义自己的元数据

通过library来定义一个库,在库中定义一个相同名字的class,然后在类中定义const 构造方法。   // 定义 library todo; class todo { final String who; final String what; const todo(this.who, this.what); } // 使用 import 'todo.dart'; @todo('seth', 'make this do something') void doSomething() { print('do something'); 三,总结

  元数据可以修饰以下内容

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有