Dart 语言学习 08
Author : ScorpioDong
1. 接口
接口定义任何实体必须遵守的语法。接口定义了一组对象可用的方法。
Dart没有声明接口的语法。类声明本身就是Dart中的接口。
类应该使用implements关键字来使用接口。实现类必须提供已实现接口的所有功能的具体实现。换句话说,类必须重新定义它希望实现的接口中的每个函数。
main(List<String> args) {
// 使用接口A的对象引用实现接口A的C类对象
A obj1 = new C();
obj1.aTest();
// 使用接口B的对象引用实现接口B的C类对象
B obj2 = new C();
obj2.bTest();
}
// 定义接口A
class A {
void aTest() {}
}
// 定义接口B
class B {
void bTest() {}
}
// 定义类C实现接口A和B
class C implements A, B {
// 重写A接口方法
@override
void aTest() {
print("aTest");
}
// 重写B接口方法
@override
void bTest() {
print("bTest");
}
}
执行
aTest
bTest
2. 包
包是一种封装一组编程单元的机制。应用程序有时可能需要集成某些第三方库或插件。每种语言都有一种机制来管理外部软件包,如Maven或Gradle for Java
,Nuget for .NET
,npm for Node.js
等。Dart的软件包管理器是Pub
。
托管软件包的存储库可以在 https://pub.dartlang.org/ 找到。
包元数据在文件pubspec.yaml
中定义。YAML是一种可读行高,用来表达数据序列化的格式。
Pub
工具可用于下载应用程序所需的所有各种库。
pubspec.yaml
文件的内容应该如下所示:
name: TestApp
version: 0.0.1
description: A Simple Application.
dependencies:
xml: ^3.7.0
pub工具的包源在国外,可能存在获取失败的情况,这里可以使用清华大学开源镜像站提供的镜像源。
echo 'export PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"' >> ~/.bashrc
终端执行 pub get
,保证pubspec.yaml
文件在当前路径。
❯ pub get
Resolving dependencies... (4.3s)
+ charcode 1.1.3
+ collection 1.14.12
+ convert 2.1.1
+ meta 1.1.8
+ petitparser 3.0.1
+ typed_data 1.1.6
+ xml 3.7.0
Downloading xml 3.7.0...
Downloading petitparser 3.0.1...
Downloading convert 2.1.1...
Downloading charcode 1.1.3...
Downloading meta 1.1.8...
Downloading typed_data 1.1.6...
Downloading collection 1.14.12...
Changed 7 dependencies!
依赖包获取成功,就可以在代码文件头部中引用该包了。
import 'package:xml/xml.dart' as xml;
pub常用命令
命令 | 描述 |
---|---|
pub get |
获取应用所需依赖包 |
pub upgrade |
将所有依赖升级到较新的版本 |
pub build |
用于构建您的web应用,将创建一个构建文件夹,包含所有相关脚本 |
pub help |
提供pub命令的帮助 |