泛型的使用

/// 泛型。作用:增加类的复用性。
/// 解决类、接口、方法的复用性、以及对不特定数据类型的支持。

class Cache<T> {
  static final Map<String, dynamic> _cached = Map();

  // 泛型方法
  void setItem(String key, T value) {
    _cached[key] = value;
  }
  T getItem(String key) {
    return _cached[key];
  }
}
class TestGeneric {
  void start() {
    Cache<String> cache1 = Cache(); // value必须是String类型。
    cache1.setItem('cache1', '11');
    String res1 = cache1.getItem('cache1');
    Cache<int> cache2 = Cache(); // 必须传value为int类型
    cache2.setItem("cache2", 11);

    Member<Student> member = Member(Student('','', 10));
    print(member.fixedName());
  }
}
class Person{}
/// 类型约束,在实现类似通用接口的泛型中,期望的类型是某些特定的类型。这时可以使用类型约束。
class Member<T extends Person> {
  T _person; /// 泛型作用:约束参数类型。
  Member(this._person);

  String fixedName () {
    return 'fixed:${_person.name}';
  }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容