深入探索泛型:从约束到容器的全面解析
1. 泛型约束总结与组合
泛型类型可以施加多种不同的约束,以下是这些约束的代码总结:
type
TSampleClass <T: class> = class
TSampleRec <T: record> = class
TCompClass <T: TButton> = class
TInftClass <T: IGetValue> = class
TConstrClass <T: constructor> = class
值得注意的是,这些约束是可以组合的。例如,定义一个受限于子层次结构且需要特定接口的泛型类:
type
TInftComp <T: TComponent, IGetValue> = class
不过,并非所有组合都有意义。比如,不能同时指定类和记录约束,而将类约束与特定类约束组合则是多余的。此外,不存在方法约束,但可以通过单方法接口约束来实现类似功能。
2. 预定义泛型容器
自 C++ 语言引入模板以来,模板类的一个常见用途就是定义模板容器或列表,C++ 还定义了标准模板库(STL)。在 Object Pascal 中,编译器提供了一组预定义的泛型容器类,位于 Generics.Collections 单元中。核心容器类包括:
| 容器类 | 说
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



