本节目标

  • 实现接口
  • implements 多接口

环境

  • Dart 2.0.0

Dart 中没有 interface 关键字

实现接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void main() {
var p = AndroidPhone();
p.startup();
p.shutdown();
}

abstract class IPhone {
void startup();
void shutdown();
}

class AndroidPhone implements IPhone {
void startup() {
print('AndroidPhone 开机');
}
void shutdown() {
print('AndroidPhone 关机');
}
}

接口用途的抽象类 请用字母 I 开头 , 如 IPhone

从一个普通类履行接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void main() {
var p = AndroidPhone();
p.startup();
p.shutdown();
}

class Phone {
void startup() {
print('开机');
}
void shutdown() {
print('关机');
}
}

class AndroidPhone implements Phone {
void startup() {
print('AndroidPhone 开机');
}
void shutdown() {
print('AndroidPhone 关机');
}
}

Dart 可以从一个普通的类履行接口

履行多接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void main() {
var p = AndroidPhone();
p.startup();
p.shutdown();
}

class Phone {
void startup() {
print('开机');
}
void shutdown() {
print('关机');
}
}

class Mobile {
int signal;
}

class AndroidPhone implements Phone, Mobile {
int signal;
void startup() {
print('AndroidPhone 开机');
}
void shutdown() {
print('AndroidPhone 关机');
}
}

Dart 可以履行多个接口

代码

参考


© 猫哥

https://ducafecat.tech