您的位置:首页 > 游戏 > 手游 > 专业做seo推广_在线玩的游戏网站_建站软件_惠州seo全网营销

专业做seo推广_在线玩的游戏网站_建站软件_惠州seo全网营销

2024/10/14 13:58:08 来源:https://blog.csdn.net/renfujiang/article/details/142902973  浏览:    关键词:专业做seo推广_在线玩的游戏网站_建站软件_惠州seo全网营销
专业做seo推广_在线玩的游戏网站_建站软件_惠州seo全网营销

1、范型函数

范型的目的就是为了代码的复用性更高、类型是可变的,类型是在使用的时候才定的,语法格式如下:function 函数名字<T> (param:T):T,返回T,这里就不管是什么类型,只管传递,一旦确定类型,三个地方的T都必须一至,下图:

这里封装了一个函数,参数是什么不知道,参数类型是什么不知道,函数名字后面有个<T>,这个可以是M,可以任何之母也可以是任何汉字,比如:

这里尖括号里面改成汉字也不影响范型函数的定义,这里改了参数里面的函数也得改,返回值类型也得改,下图红框三处的必须是一至的:

范型函数的调用,函数名+字尖括号,尖括号里面是具体类型,简括号里面是什么类型,实参数就传什么,如下图:打印出abc

当然,调用的时候尖括号和尖括号的类容不写也是可以的,会根据传的类型自动推断,例如:

2、范型约束

上面讲到的范型的时候,没有任何约束,想传什么就传什么的,这样有好处有坏处,好处是灵活,坏处也是太灵活,如果想要约束传的类型,鸿蒙中使用的是接口属性,例如:

上述泛型方法定义了参数必须是ILength的属性length,而这个参数的类型不用管,哪怕是string类型也行,原因是string类型有length属性,如下图,我传字符串abc没问题,但是我们传Person不行,因为Person没有length属性,

如果我们在Person类里面添加个length属性,顺利通过。

3、多个范型的约束

多个范型约束的只需要在单个范型的基础上多添加范型和约束就行,如下图:

这里的类型1和类型2是对应的关系,类型必须得相同

4、泛型接口

定义接口的时候,结合泛型来定义就是泛型接口了,如下图:

 紧接着,定义一个接口方法,传入什么就返回什么,紧接着定义一个方法,返回数组,下图:

实现这个接口,实现接口最主要的是实现接口大方法,下图:

假如实例化的时候传入string,需要修改如下:

5、泛型类

泛型累的定义只需要在类的后面加"<类型>"就是反省类,如下图:

定义了泛型类,类型没定,使用的时候想传什么类型就是什么类型,类型是通过构造函数传递的,对外提供了获得传入参数的方法,如下图:

总结:泛型是定义的时候不指定类型的,使用的时候在具体指定类型的灵活语法,有泛型方法、泛型接口、泛型类,泛型的约束是通过接口实现的,接口的属性是啥,之后的参数需要有相同的属性,多个泛型的顺讯需要一样

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com