美文网首页
Dart 中接口、继承、with 理解

Dart 中接口、继承、with 理解

作者: 無名小子的杂货铺 | 来源:发表于2019-11-24 14:46 被阅读0次

接口、继承我们已经很熟悉了,任何一门编程语言都离不来,dart 种增加了一种 with 方式,通过非继承的方式使用其他类中的变量与方法, 通过一个demo来理解下 with 使用.

在 Dart 中,你可以对同一个父类进行继承或接口实现:

  • 继承:子类由父类派生,会自动获取父类的成员变量和方法实现,子类可以根据需要覆写构造函数及父类方法;
  • 接口:子类获取到的仅仅是接口的成员变量符号和方法符号,需要重新实现成员变量,以及方法的声明和初始化。

除了继承和接口方式,Dart 还提供了另一种机制来实现类的复用,即“混入”(Mixin)。混入鼓励代码重用,可以被视为具有实现方法的接口

/// 学习 dart with使用

void main() {
  SourApple sourApple = new SourApple();
  sourApple.eat();
}

/// 定义一个榨汁机
class AppleJuicer {
  void juice() {
    print("榨汁");
  }
}

/// 定义一个 Apple 类,dart 种没有 interface 关键字
class Apple {
  void eat() {}
}

/// 定义一个 BigApple 类继承Apple
class BigApple extends Apple {

}

/// 定义一个 SmallApple 类实现Apple类
class SmallApple implements Apple {
  /// 必须实现重写父类方法
  @override
  void eat() {}
}

class SourApple with AppleJuicer implements Apple {

  @override
  void eat() {
    print("eat start");
    juice();
    print("eat end");
  }

}

输出结果:

lib/dart_with.dart: Warning: Interpreting this as package URI, 'package:flutter_free/dart_with.dart'.
eat start
榨汁
eat end

Process finished with exit code 0

相关文章

  • Dart 中接口、继承、with 理解

    接口、继承我们已经很熟悉了,任何一门编程语言都离不来,dart 种增加了一种 with 方式,通过非继承的方式使用...

  • Dart语言的继承

    类的定义 在Dart中定义一个类的方法如下 Dart类的三种继承方式 父类继承 extends 实现接口 impl...

  • 3. Dart多接口对象

    面向对象(接口,多接口) 混入 Dart中可以使用mixin实现类似多继承的功能 作为mixin的类只能继承自Ob...

  • Flutter/Dart - Dart中的抽象类 多态 和接口

    Dart中的抽象类 Dart中的抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口...

  • 09Dart语言基础-继承与多态

    1.继承 main.dart person.dart student.dart 2.抽象类与接口 3.Mixin混...

  • 10.Dart-抽象类

    /** * Dart中的抽象类 * Dart抽象类主要用于定义标准, 子类可以继承抽象类, 也可以实现抽象类接口...

  • Dart语法之Mixins与with关键字

    Dart和Java一样只支持单继承。而且Dart中没有和Java一样提供Interface字段去声明一个接口,但是...

  • Dart中的抽象类 多态 以及接口

    抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。 1、抽象类...

  • Dart 抽象类 多态 接口

    1.抽象类 Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象...

  • Dart中extends和implements

    Dart中抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。1、抽象类通过abs...

网友评论

      本文标题:Dart 中接口、继承、with 理解

      本文链接:https://www.haomeiwen.com/subject/yzlabctx.html