delphi 线程教学第六节:TList与泛型
Posted 晓不得2013
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 线程教学第六节:TList与泛型相关的知识,希望对你有一定的参考价值。
第六节: TList 与泛型
TList 是一个重要的容器,用途广泛,配合泛型,更是如虎添翼。
我们先来改进一下带泛型的 TList 基类,以便以后使用。
本例源码下载(delphi XE8版本): FooList.Zip
unit
uFooList;
interface
uses
Generics
.
Collections;
type
TFooList <T>=
class
(TList<T>)
private
procedure
FreeAllItems;
protected
procedure
FreeItem(Item: T);virtual;
// 子类中需要重载此过程。以确定到底如何释放 Item
// 如果是 Item 是指针,就用 Dispose(Item);
// 如果是 Item 是TObject ,就用 Item.free;
public
destructor
Destroy;override;
procedure
ClearAllItems;
procedure
Lock;
// 给本类设计一把锁。
procedure
Unlock;
end
;
// 定义加入到 List 的 Item 都由 List 来释放。
// 定义释放规则很重要!只有规则清楚了,才不会乱套。
// 通过这样简单的改造, TList 立马好用 N 倍。
implementation
{ TFooList<T> }
procedure
TFooList<T>.ClearAllItems;
begin
delphi 面向对象实用技能教学一(递归)