美文网首页ios
Flutter 继承、接口实现和混合

Flutter 继承、接口实现和混合

作者: StevenHu_Sir | 来源:发表于2019-11-01 20:59 被阅读0次

1.继承 extends

  • Flutter 中的继承是单继承
  • 子类可以通过@override 来重写父类方法
  • 构造函数不能被继承
  • 没有共有和私有访问符,可以直接访问超类中所有变量和方法
  • 一般情况下,带下划线属性表示私有变量

2.声明接口(abstract)

3.接口实现(implements)

没有(interface)关键字,但每一个类都是一个隐式的接口。

完整流程

1.声明一个接口(abstract)

abstract class Worker {
  void doWork();
}

2.继承

class Teacher extends Worker {
  void doWork() {
    print("老师在上课");
  }
}

class Engineer extends Worker {
  void doWork() {
    print("工程师在工作");
  }
}

3.实现(implements)

class Student extends Teacher implements Worker {

  @override
  void doWork() {
    // TODO: implement doWork
    super.doWork();
  }
}

4.使用

Student()
  ..doWork();

混合案例

abstract class Worker {
  void doWork();
}

abstract class CanFixComputer {
  void fixComputer();
}

abstract class CanProgramming {
  void programming();
}

class Engineer extends Worker {
  void doWork() {
    print("工程师在工作");
  }
}

class SoftwareEngineer extends Engineer
    implements CanFixComputer, CanProgramming {
  @override
  void fixComputer() {
    print('软件工程师修电脑');
  }

  @override
  void programming() {
    print('设计软件');
  }
}

链式编程

SoftwareEngineer()
      ..doWork()
      ..fixComputer()
      ..programming();
 // 打印结果:
 /*
I/flutter (13184): 工程师在工作
I/flutter (13184): 软件工程师修电脑
I/flutter (13184): 设计软件
*/     

相关文章

  • Flutter 继承、接口实现和混合

    1.继承 extends Flutter 中的继承是单继承。 子类可以通过@override 来重写父类方法 构造...

  • js对象——继承(2)

    继承分为接口继承和实现继承,但由于接口继承只继承方法签名,而函数没有签名,所以ECMAScript只支持实现继承(...

  • 条款34:区分接口继承和实现继承

    区分接口继承和实现继承 c++的(公有)继承主要有两个意图:实现继承和接口继承。实现继承其实体现了面向对象封装的特...

  • js中的继承-原型与原型链

    面向对象的语言支持两种继承方式,接口继承和实现继承js无法实现接口继承,只支持实现继承,主要通过原型链来实现。具体...

  • JavaScript实现继承的方法

    大多OO语言都支持两种继承方式: 接口继承和实现继承 ,而ECMAScript中无法实现接口继承,ECMAScri...

  • JS继承

    大多OO语言都支持两种继承方式: 接口继承和实现继承 ,而ECMAScript中无法实现接口继承,ECMAScri...

  • Kotlin抽象类与接口 (2)✔️接口使用

    接口声明和实现接口与多继承接口继承接口中的具体函数和属性✔️同一函数继承多个实现的问题 比抽象类更加抽象的是接口,...

  • 7、面向对象的程序设计3(《JS高级》笔记)

    三、继承 许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际方法。由...

  • 面向对象——继承

    许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。ECMAS...

  • kotlin继承

    继承语法 类和接口的继承通过 : 来实现 接口 kotlin 的接口可以包含抽象方法,以及方法的实现,接口可以有属...

网友评论

    本文标题:Flutter 继承、接口实现和混合

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