泛型 泛型方法 泛型类 泛型接口
泛型
泛型就是解决类、接口、方法的重用问题,以及对不特定数据类型的支持(类型校验)。
// 定义泛型方法
T getData<T>(T value){
return value;
}
// 使用
main(){
print(getData<String>("hello"));
print(getData<int>(123));
}
泛型类
// 定义泛型类
class MyList<T> {
List list = <T>[];
void add(T value) {
this.list.add(value);
}
getList() {
return list;
}
}
// 使用
main(){
MyList l1=new MyList();
l1.add("张三");
l1.add(123);
l1.add(true);
print(l1.getList());
}
泛型接口
实现数据缓存的功能:有文件缓存和内存缓存,内存缓存和文件缓存都需要按照接口约束去实现:
1、定义一个泛型接口,约束实现它的子类必须有 getByKey(key) 和 setByKey(key,value) 两个方法;
2、要求调用 setByKey 的时候,value 的类型必须和实例化子类时候指定的类型一致。
abstract class Cache<T>{
getByKey(Srting key);
void setByKey(String key, T value);
}
class FileCache<T> implements Cache<T> {
@override
getByKey(String key) {
return null;
}
@override
setByKey(String key, T value) {
print("我是文件缓存 把key=${key} value=${value}的数据写入到文件中")
}
}

浙公网安备 33010602011771号