泛型编程是一种流行的计算机编程类型,其编写方式可以创建尽可能高效的代码,同时允许代码应用于尽可能多的情况,而无需对原始代码本身进行任何更改。一旦编写了代码,它就只能执行为其编写的确切功能。通过使用泛型编程来创建在许多不同情况下都能工作的代码,同时仍然执行相同的基本总体功能,程序员可以在不同的程序中使用一段代码,而无需对原始代码进行任何更改。
20世纪70年代,泛型编程首次出现在Ada和CLU编程语言中。不久之后,其他编程语言如java和C++开始使用泛型编程来简化编程代码,同时允许在多个场景中使用相同的代码。每种编程语言都有使用此代码的特定方式和不同的术语来描述它。“泛型”、“模板”和“参数化类型”在某些时候都被用来指代泛型编程的实例。
要理解这种类型的编程,了解编程语言如何工作的基本概念很重要。例如,如果Paul想编写一个将两个数字相加的程序,他会键入计算机代码来添加两个对象。然后,他会告诉计算机,这两个物体是数字,最后的答案也应该是数字。
虽然只要Paul添加两个数字,该程序就可以运行,但如果他尝试将其他任何数字添加到一起,该程序就会崩溃。如果Paul决定把句子串在一起组成一个段落,程序就会崩溃,因为它会找到字母而不是数字。然而,Paul可以通过使用泛型编程告诉原始程序接受一些变量(包括数字和字母)来解决这个问题,因此程序可以创建句子或执行加法。
并不是所有的编程语言都需要泛型编程的概念才能使其高效。使用它的是静态类型语言。这仅仅意味着代码是一成不变的,可以说,在程序运行时不能更改。因此,如果程序员指定用户的输入将以字母的形式,并且用户键入了一个数字,那么程序将无法使用该输入。因此,程序员试图预见用户可以输入的所有逻辑数据类型,无论是数字、字母还是符号,并创建一个可以相应调整的程序。
...式编程与命令式编程 5. 摘要 什么是声明式编程(declarative programming)? 声明式编程可以用一个真实的场景来解释。假设用户需要检查新邮件。一种方法是启用收件箱通知。用户只需启用一次通知,每次新邮件到达时,他都会自动...
...式的命令式编程 6.摘要 什么是函数式程序设计(functional programming)? 函数式程序设计是以数学为基础的。函数式编程背后的关键原则是,所有的计算都被看作是独立数学函数的组合。数学函数将输入映射到输出。假设有一个函数...
...了代码的可读性和可维护性。 目录 1. 概述和主要区别 2. 什么是目标C 3. 什么是斯威夫特 4. Objective C与Swift的相似性 5. 并列比较——目标C与Swift表格形式 6. 摘要 什么是目标c(objective c)? C语言大约在1970年被引入。由于C语言是一...
通用(generic)和c中的非泛型集合#(non-generic collection in c#)的区别 泛型集合是一个类,它提供类型安全性,而不必从基集合类型派生并实现特定于类型的成员。非泛型集合是用于数据存储和检索的专用类,它提供对堆栈、队列、...
结构化的(structured)和非结构化程序设计(unstructured programming)的区别 计算机程序是计算机执行用编程语言编写的任务的一组指令。编程范例可以根据语言特性对编程语言进行分类。结构化编程和非结构化编程是两种常见的编程...
仿制药与名牌药 处方药有仿制药和品牌药两种。在讨论仿制药和名牌药的区别时,可以看出仿制药是名牌药的复制品。 名牌药是指由某一制药公司研究和配制的药品。这家制药公司将拥有该品牌药品的专利,其他公司不能销...
什么是数组和数组列表(array and arraylist)? Array和ArrayList都是Java程序中常用的基于索引的数据结构。从概念上讲,ArrayList在内部是由数组支持的,然而,理解两者之间的区别是成为优秀Java开发人员的关键。这是最基本的一步,尤...
...键术语 字典、哈希表、数据结构 什么是泛型数据类型(generic data type)? 泛型数据类型是允许用户使用占位符定义类和方法的数据类型。编译器(如C#)可以在编译时用指定的数据类型替换占位符。它用于创建通用类和方法。在...
...逻辑。总的来说,编码是编程的一个步骤。 什么是编程(programming)? 与编码相比,编程是一个更广泛的概念。程序设计是为计算机执行一项任务而设计和开发程序的整个过程。第一步是找出问题所在。下一步是做分析。这涉及到...