Dart 语言学习 07 接口和包

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 JavaNuget for .NETnpm 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命令的帮助
发布了59 篇原创文章 · 获赞 45 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/m0_37771142/article/details/105036427