-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmutipleInterface.dart
94 lines (68 loc) · 1.55 KB
/
mutipleInterface.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
// 多接口:实现所有属性和方法,一个类实现多个接口的属性和方法
abstract class A{
String name;
printA();
}
abstract class B{
printB();
}
class C implements A,B{
@override
String name;
@override
printA() {
// TODO: implement printA
print("printA");
}
@override
printB() {
// TODO: implement printB
return null;
}
}
main(){
C c=new C();
c.printA();
}
// // mixin混入功能
// // 因为mixins使用的条件,随着dart版本一直在变,这里讲的是dart2.x中使用mixins的条件
// // 1.作为mixins的类只能继承来自Object,不能继承其他类
// // 2.作为mixins的类不能有构造函数
// // 3.一个实例可以mixins多个mixins类
// // 4.mixins绝不是继承,也不是接口,而是一种全新的特性
// class Person{
// String name;
// num age;
// Person(this.name,this.age);
// printInfo(){
// print("这是一个Person类");
// }
// }
// class A{
// String info = "this is A";
// void printA(){
// print("A");
// }
// }
// class B{
// void printB(){
// print("B");
// }
// }
// // class C extends A,B{ //多继承时会报错,没法实现多继承
// // }
// // class C with A,B{ //实现多继承
// // }
// class C extends Person with A,B{
// C(String name, num age) : super(name, age);
// }
// void main(){
// var c = new C("zhang",6);
// c.printA();
// c.printB();
// print(c.info);
// print(c is C);//是否属于c类
// print(c is A);//是否属于A类
// print(c is B);//是否属于B类
// print(c is Object);
// }