泛型
一、泛型是什么
- 主要作用 泛型实现了类型参数化,达到了代码重用的目的 即,通过类型参数化来实现同一份代码上操作多种类型
- 简单理解 泛型相当于类型占位符 自定义类或者方法时使用代替符代表变量类型 真正使用类或者方法时再具体指定类型
- 典型例子
- Unity 中获取游戏对象上的某一组件
- 单例模式设计
二、泛型分类
泛型占位符:T、K、····· 占位符可以有多个,使用时用“ ,”隔开
- 泛型类
class 类名<T> - 泛型接口
interface 接口名<T> - 泛型函数
函数名<T>(参数列表)
三、泛型的作用
- 不同类型对象的相同逻辑处理,就可以使用泛型
- 一定程度避免装箱拆箱
四、泛型约束
1.什么是泛型约束
让泛型的类型有一定的限制 关键字:where
2.约束类型
基本语法: where 泛型字母:约束类型 |约束类型|语法| |---|--| |值类型|struct| |引用类型|class| |存在无参公共构造函数|new()| |某个类本身或者派生类|类名| |某个接口或者其派生类|接口名| |另一个泛型类型或者派生类型|另一个泛型字母|
注意: 以上类型可以组合使用