前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >知识分享之概念——程序中泛型的理解,什么是泛型?

知识分享之概念——程序中泛型的理解,什么是泛型?

作者头像
cn華少
发布2021-11-24 16:33:13
5630
发布2021-11-24 16:33:13
举报
文章被收录于专栏:IT综合技术分享IT综合技术分享

知识分享之概念——程序中泛型的理解,什么是泛型?

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:windows10
  • 数据库:MariaDB

内容

百度百科上是这样描述泛型的

泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift 和 Visual Basic .NET称之为泛型(generics);ML、Scala 和 Haskell 称之为参数多态(parametric polymorphism);C++和 D称之为模板。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型(parameterized type)。

我理解的泛型是用于我们在编写一个函数或者一个程序时想要让它能接受多种类型的入参时使用的一种范式。

假设我现在编写一个"冰箱",这个冰箱未来需要放入"苹果"这个类型的对象,还需要放入"草莓"这个类型的对象。 这时我的这个冰箱接口就需要既可以传参"苹果"又可以传参"草莓"。有的小伙伴可能会说我写上两个类型的参数,有需要时就用哪个参数呗,其实不然,我们的"冰箱"需要放入各种各样的东西,这时我们的参数是写不完的,或者写了很多后会浪费掉很大一部分的空传参和一些相关判定。 这时我们就需要一个类型来代表着未来某个时间时,我们再进行使用"冰箱"时再告知到底是什么类型。于是这里就诞生了泛型这个概念。

那在常见的程序中是如何体现的呢? 我们比较常用语言中通常使用"T"来表示泛型。

本文声明:

本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021/11/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识分享之概念——程序中泛型的理解,什么是泛型?
    • 背景
      • 开发环境
        • 内容
        相关产品与服务
        云数据库 MariaDB
        腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档