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命令的幫助
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章