在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第六节: 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
全部评论
专题导读
热门推荐
热门话题
阅读排行榜
|
请发表评论