泛型 泛型方法 泛型类 泛型接口

泛型

泛型就是解决类、接口、方法的重用问题,以及对不特定数据类型的支持(类型校验)。

// 定义泛型方法
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}的数据写入到文件中")
    }
}
posted @ 2025-10-16 23:59  505donkey  阅读(3)  评论(0)    收藏  举报