泛型:解决 类、接口、方法的复用性和不特定数据类型的校验
一、泛型方法
void main(){
//在这里指定泛型类型String,后面参数只可以传入 String类型。
var v1=getInfo<String>('This is String Type');
print(v1);
}
//这里的<T>,用于指定泛型类型;
T getInfo<T>(T value){
return value;
}
二、泛型类
比如经常用的 List
就是一个泛型类,声明List泛型为String,此时只能添加String类型的数据:
List<String> stringList=new List<String>();
image.png
也可以自定义一个泛型类:
//自定义一个泛型类
class Person<E>{
E e;
void printInfo<E>(E e) {
print('泛型类:$e');
}
}
三、泛型接口
因为在Dart中泛型接口的写法就是抽象类,所以泛型接口的写法跟泛型类类似。
//泛型接口
abstract class Cache<T>{
getData(T data);
void setData(T data);
}
四、import
导库关键字
- 需要隐藏一部分的时候,使用
hide
关键字
import 'xxx' hide A
除了"xxx"中的A,其余都导入 - 当名字出现冲突,使用
as
关键字
import 'xxx' as B
将库重命名,当有名字冲突时 - 只需要导入一部分的时候,使用
show
关键字
import 'xxx' show A,B
只导入A,B
网友评论