编程语言中高级特性:泛型
什么是泛型,为什么使用泛型
泛型:允许程序员在强类型程序设计语言
中在类定义时
不会设置类中的属性或方法参数的具体类型,而是在类实例化时
(创建对象)再进行类型的定义,会在编译期检查类型是否错误。
使用泛型的目的
- 可重用,不使用泛型通常相同功能的代码,根据不同传入的参数类型的多少,就的重复写多次。
- 可扩展,可扩展不同的数据类型
- 类型安全,实例化时需指定类型,如果使用object代替类型,那么类型未知可能会出现类型安全问题。
- 效率更高,相比object代替方案,泛型不会出现强制类型转化等,通常我们说的装箱和拆箱过程,从而提高性能。
注意,这了的目的是和不使用泛型,或者使用object(所有类的父类)代替类型来说的。
泛型的实现原理
泛型本质是将数据类型参数化
,我们在定义类和方法时,不必使用一个或多个具体类型,而是在调用类和方法时
再去指定具体类型。定义方法时,类型参数通常使用一个大写字母表示。
// 定义泛型
mylist<T>
// 使用泛型方法,一个方法可以适用于不同场景
mylist<int>
mylist<string>
mylist<MyClass>
如何使用泛型
泛型有三种使用方式,分别为:泛型类、泛型接口和泛型方法。
泛型类
public class 类名 <泛型类型1,...> {
}
泛型接口
public interface 接口名称 <泛型类型1,...> {
}
泛型方法
public <泛型类型> 返回类型 方法名(泛型类型 变量名) {
}
扩展阅读
C#泛型设计原理
JAVA泛型详解
Go 泛型使用和实现原理介绍
编程语言是如何实现泛型的
最后更新于 2022-08-16 15:59:59 并被添加「」标签,已有 678 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭