亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Flutter開發第一步-Dart編程語言入門

雷宇 全棧工程師
難度入門
時長 3小時54分
學習人數
綜合評分9.50
53人評價 查看評價
9.5 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • ????????????????????????????????????????閉包

    1. 閉包是一個方法(對象)

    2. 閉包定義在其他方法內部

    3. 閉包能夠方位外部方法內的局部變量,并持有其狀態

    查看全部
    0 采集 收起 來源:閉包

    2020-04-21

  • Map常用操作


    查看全部
    0 采集 收起 來源:Map

    2020-04-16

  • List常用操作

    http://img1.sycdn.imooc.com//5e983529000161a309030509.jpg

    查看全部
    0 采集 收起 來源:列表List

    2020-04-16

  • 泛型

    1、Dart類型是可選的,可使用泛型限定類型

    2、使用泛型能夠有效的減少代碼重復

    3、類的泛型、方法的泛型


    class?Utils<T>?{
    ??T?element;
    ??void?putInt(T?element)?{
    ????this.element?=?element;
    ??}
    }
    void?main(List?args)?{
    ??var?u=?new?Utils();
    ??u.put<String>("ssdas");
    ??u.put<int>(11);
    }
    
    class?Utils?{
    
    ?void?put<T>?(T?e)?{
    ???print(e);
    ?}
    }


    查看全部
    0 采集 收起 來源:泛型

    2020-04-14

  • 枚舉

    1、是一種有窮序列集的數據類型

    2、使用關鍵字enum定義一個枚舉

    3、常用于代替常量,控制語句等


    dart枚舉特性

    1、index從0開始,依次累加

    2、不能指定原始值

    3、不能添加方法

    查看全部
    0 采集 收起 來源:枚舉

    2020-04-14

  • class?Person?{
    ???int?age;
    
    ???Person(this.age);
    
    ???bool?operator?>?(Person?person)?{
    ?????return?this.age?>?person.age;
    ???}
    
    ???int?operator?[]?(String?str)?{
    ?????if?(str?==?"age")?{
    ???????return?this.age;
    ?????}
    ?????return?0;
    ???}
    
    ???@override
    ???bool?operator?==(Object?other)?=>
    ???????identical(this,?other)?||
    ???????????other?is?Person?&&
    ???????????????runtimeType?==?other.runtimeType?&&
    ???????????????age?==?other.age;
    
    ???@override
    ???int?get?hashCode?=>?age.hashCode;
    
    
    
    }


    查看全部
    0 采集 收起 來源:操作符覆寫

    2020-04-14

  • 對象操作符覆寫

    1、覆寫操作符需要在類中定義

    返回類型 operator 操作符 (參數1,參數2...){

    實現體...

    return 返回值;

    }


    2、如果覆寫==,還需要覆寫對象的hashCode getter方法,可以工具直接生成

    查看全部
    1 采集 收起 來源:操作符覆寫

    2020-04-14

  • abstract?class?A?{
    ??void?run();
    }
    
    class?B?implements?A{
    ??@override
    ??void?run()?{
    ????//?TODO:?implement?run
    ????print("b...A");
    ??}
    }
    
    class?C?implements?A{
    ??@override
    ??void?run()?{
    ????//?TODO:?implement?run
    ????print("c...A");
    ??}
    }
    
    class?E?{
    ??String?name;
    ??void?run(){}
    }
    
    class?D?extends?E?with?B{
    
    }
    
    class?DE?extends?E?with?C{
    
    }


    查看全部
    0 采集 收起 來源:Mixins

    2020-04-14

  • Mixins

    1、Mixins類似于多繼承,是在多類繼承中重用一個類代碼的方式

    (注意:若多個類有重名的默認調用繼承最后一個類中的方法)

    class?D?extends?A?with?B,C?{
    
    }

    2、作為Mixin的類不能有顯示聲明構造方法

    3、作為Mixin的類只能繼承于Object,implements繼承的不影響

    4、使用關鍵字with連接一個或多個mixin


    class?D??extends?A?with?C,B?{
    ??d()?{}
    }


    查看全部
    0 采集 收起 來源:Mixins

    2020-04-14

  • dart接口

    1、類和接口是統一的,類就是接口

    2、每個類都隱式的定義了一個包含所有實例成員的接口,抽象類也不另外

    3、如果是復用已有類的實現,使用繼承extends

    4、如果只是使用已有類的外在行為,使用接口implements,

    查看全部
    1 采集 收起 來源:接口

    2020-04-14

  • Dart 抽象類

    1、抽象類使用abstract表示,不能直接被實例化

    2、抽象方法不用abstract修飾,無實現

    abstract?class?Person?{
    void?run();
    void?study()?{}
    }

    3、抽象類可以沒有抽象方法

    4、有抽象方法的類一定得聲明為抽象類

    查看全部
    0 采集 收起 來源:抽象類

    2020-04-14

  • 繼承中的構造方法

    1、子類的構造方法默認會調用父類的無名無參構造方法

    2、如果父類沒有無名無參構造方法,則需要顯示調用父類構造方法

    3、在構造方法參數后使用:顯示調用父類構造方法


    構造方法執行順序

    1、父類的構造方法在子類構造方法體開始執行的位置調用

    2、如果有初始化列表,初始化列表會在父類構造方法之前執行

    class?Student?extends?Person?{
    ??int?age;
    ??final?String?gender;
    
    ??Student(String?name,String?g)?:?gender?=?g?,?super.withName(name);
    }


    查看全部
  • Dart繼承

    使用關鍵字extends繼承一個類

    子類會繼承父類可見的屬性和方法,不會繼承構造方法

    子類能夠復寫父類的方法,getter和setter

    單繼承,多態性

    import?'Person.dart';
    
    void?main(List?args)?{
    //??var?student?=?new?Student();
    //??student.study();
    //??student.name?=?"Tome";
    //??student.age?=?15;
    //??print(student.isAudit);
    //??student.run();
    
    Person?person?=?new?Student();
    //(person?as?Student).study();
    if?(person?is?Student)?{
    ??person.study();
    }
    print(person);
    }
    
    class?Student?extends?Person{
    
    ??void?study()?{
    ????print("student?study...");
    ??}
    
    ??@override
    ??//?TODO:?implement?isAudit
    ??bool?get?isAudit?=>?age?>?15;
    
    ??@override
    ??void?run()?{
    ????print("student?run?...");
    ??}
    }


    查看全部
    1 采集 收起 來源:繼承

    2020-04-14

  • 對象call方法

    dart中方法可以作為對象操作,對象也可以作為方法使用

    1、如果類實現了call()方法,則該類的對象可以作為方法使用

    class?Person?{
    ??String?name;
    ??int?age;
    //只需要方法名為call就行
    ????call(String?name,?int?age)?{
    ????return?"work?...$name.?age?is?$age";
    ??}
    
    
    }


    查看全部
    1 采集 收起 來源:對象call方法

    2020-04-14

  • 對象操作符

    條件成員訪問: ?.

    var?person?=?new?Person();
    person?.work();

    對成員是否為空進行判斷

    類型轉換as

    var?person;
    person?=?"";
    person?=?new?Person();
    (person?as?Person).work();

    是否指定類型:is, is!

    ??var?person;
    ??person?=?"";
    ??person?=?new?Person();
    //??(person?as?Person).work();
    if?(person?is?Person)?{
    ??person.work();
    }

    級聯操作:..

    var?person?=?new?Person();
    person..name?=?"Tome"
    ..age?=?20..work();


    查看全部
    1 采集 收起 來源:對象操作符

    2020-04-14

舉報

0/150
提交
取消
課程須知
本課程主要介紹Dart基礎知識,如果有其它編程語言經驗的同學,學習起來會事半功倍。對有經驗的同學,入門課程會比較輕松,不過也要多加練習哦~,學習完本課程后,大家可以自行加深Dart學習,向面向對象發起一波沖刺~(https://gitee.com/LeiYu-Io)
老師告訴你能學到什么?
1、Dart的應用場景有哪些 2、Dart開發環境如何配置 3、Dart中常用的數據類型 4、Dart中的運算符及控制流 5、Dart中的方法以及閉包等

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!