泛型是Delphi的强大补充,在Delphi2009中作为一种新的语言特性引入。泛型或泛型类型(也称为参数化类型)允许您定义不专门定义特定数据成员类型的类。
例如,从Delphi2009开始,泛型不再使用TObjectList类型来拥有任何对象类型的列表。集合单元定义了一个更强类型的TObjectList。
下面是一个文章列表,介绍了Delphi中的泛型类型及其使用示例:
泛型有时被称为泛型参数,这个名称可以更好地引入泛型参数。与具有值的函数参数(参数)不同,泛型参数是一种类型。它参数化了一个类、一个接口、一个记录,或者一个不太常见的方法。。。作为奖励,有匿名例程和例程引用
Delphi-tList、tStringList、tObjectlist或tCollection可用于构建专用容器,但需要类型转换。使用泛型,可以避免强制转换,编译器可以更快地发现类型错误。
一旦您使用泛型类型参数(泛型)编写了一个类,您就可以将该类与任何类型一起使用,并且您选择与该类的任何给定使用一起使用的类型将替换您在创建该类时使用的泛型类型。
我在Delphi中看到的大多数泛型示例都使用包含泛型类型的类。然而,在处理个人项目时,我决定需要一个包含泛型类型的接口。
下面是如何定义一个简单的泛型类:
type TGenericContainer<T> = class Value : T; end;根据以下定义,下面介绍如何使用整数和字符串通用容器:
var genericInt : TGenericContainer<integer>; genericStr : TGenericContainer<string>; begin genericInt := TGenericContainer<integer>.Create; genericInt.Value := 2009; //only integers genericInt.Free; genericStr := TGenericContainer<string>.Create; genericStr.Value := 'Delphi Generics'; //only strings genericStr.Free; end;上面的例子只触及了在Delphi中使用泛型的表面(虽然没有解释任何内容,但上面的文章已经提供了您想要知道的一切!)。
对我来说,泛型是从Delphi 7/2007迁移到Delphi 2009(及更新版本)的原因。
通用(generic)和c中的非泛型集合#(non-generic collection in c#)的区别 泛型集合是一个类,它提供类型安全性,而不必从基集合类型派生并实现特定于类型的成员。非泛型集合是用于数据存储和检索的专用类,它提供对堆栈、队列、...
...构。从概念上讲,ArrayList在内部是由数组支持的,然而,理解两者之间的区别是成为优秀Java开发人员的关键。这是最基本的一步,尤其是刚开始编写代码的初学者。虽然两者都用于在Java中存储元素,可以是原语,也可以是对象...
...能添加不满足给定数据类型的元素。例如,如果字典具有泛型类型,则程序员只能添加具有int类型键和字符串类型值的元素。 覆盖的关键领域 1.什么是泛型数据类型-定义2.什么是哈希表-定义,功能3.什么是字典-定义,功能4.哈...
...行诸如检索、更新和插入XML数据之类的操作。 作为一名Delphi程序员,您应该知道如何使用XML文档。 xml与delphi 有关将Delphi与XML配对的更多信息,请阅读: 了解如何将TTreeView组件项存储到XML(保留树节点的文本和其他属性)...
...止其他人操纵这些加载项文件。 本文将向您展示如何在Delphi可执行文件中嵌入(和使用)声音文件、视频剪辑、动画以及更一般的任何类型的二进制文件。对于最通用的用途,您将看到如何将MP3文件放入Delphi exe中。 资源文...
如果您计划编写可以与多个版本的Delphi编译器一起使用的Delphi代码,您需要知道您的代码是在哪个版本下编译的。 假设您正在编写自己的商业自定义组件。组件的用户可能具有与您不同的Delphi版本。如果他们试图重新编译组...
简单地说,文件是某种类型的二进制序列。在Delphi中,有三类文件:类型化、文本和非类型化。类型化文件是包含特定类型数据的文件,例如双精度、整数或以前定义的自定义记录类型。文本文件包含可读的ASCII字符。当我们想...
希望掌握Delphi编程语言的初学者应该已经熟悉Microsoft Windows的基础知识。学习Delphi是最容易的,如果你从一个有指导的、基于教程的参考框架来学习它。 基本概念 从一堂历史课开始,介绍(Turbo)Pascal到Delphi 2005的演变,例...
简而言之,Delphi项目只是组成由Delphi创建的应用程序的文件集合。DPR是用于Delphi项目文件格式的文件扩展名,用于存储与项目相关的所有文件。这包括其他Delphi文件类型,如表单文件(DFM)和单元源文件(.PASs)。 由于Delphi...
如果您打算成为一名优秀的Delphi程序员,那么“接口”、“实现”和“使用”等词需要在您的编程知识中占有特殊的位置。 德尔福项目 当我们创建一个Delphi应用程序时,我们可以从一个空白项目、一个现有项目或Delphi的一...