为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Flutter开发第一步-Dart编程语言入门 _学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Flutter开发第一步-Dart编程语言入门

雷宇 全栈工程师
难度入门
时长 3小时54分
  •                                         闭包

    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中的方法以及闭包等
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!