ios

Flutter 继承、接口实现和混合

2019-11-01  本文已影响0人  StevenHu_Sir

1.继承 extends

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): 设计软件
*/     
上一篇 下一篇

猜你喜欢

热点阅读