zoukankan      html  css  js  c++  java
  • Delphi中的ObjectList简单用法一则

          最近项目中需要搞很多个同一类对象的管理和操作,我居然还想用数组array来实现。在当当的教育下,开始研究TObjectList。Delphi中将一系列对象进行数组形式的维护,TObjectList是一个不错的实现方法。他帮助我们添加、计数、删除、释放一个List列表中的内容。
      基本实现不难,自己做一个类,把对象数组像List一样封装到Items中去,然后根据需要实现一些需要的Add/ Count/ Remove/ Clear等操作。实现很简单,直接调用ObjectList的固有函数即可。一个实现的伪代码的例子如下。(修改自最近的Project文件,维护一个TMyClass类的实例列表)Blogbus没有语法高亮功能,很是让人郁闷。

    TReminder = class(TPersistent)
    private
      FFileName: 
    string;
      FItems: TObjectList;
      
    function ReadItems(Index: Integer): TMyClass;
      
    procedure SetItems(Index: Integer; const Value: TMyClass);
    public
      
    property Items[Index: Integer]: TMyClass read ReadItems write SetItems;
      
    function Add(MyClass: TMyClass): Integer;
      
    function Count(): Integer;
      
    constructor Create;
    end;

    implementation

    function TReminder.Add(MyClass: TMyClass): Integer;
    begin
      Result :
    = FItems.Add(MyClass);
    end;

    function TReminder.Count: Integer;
    begin
      Result :
    = FItems.Count;
    end;

    constructor TReminder.Create;
    begin
      
    inherited;
      FItems :
    = TObjectList.Create;

    end;

    function TReminder.ReadItems(Index: Integer): TMyClass;
    begin
      Result :
    = TMyClass(FItems[Index]);
    end;

    procedure TReminder.SetItems(Index: Integer; const Value: TMyClass);
    begin
      FItems[Index] :
    = Value;
    end;
  • 相关阅读:
    Android JNI和NDK学习(04)--NDK调试方法(转)
    Android JNI和NDK学习(03)--动态方式实现JNI(转)
    Android JNI和NDK学习(02)--静态方式实现JNI(转)
    Android JNI和NDK学习(01)--搭建NDK开发环境(转)
    C++语言基础(7)-inline内联函数
    C++语言基础(6)-const 关键字
    C++语言基础(5)-this和static关键字
    红黑树:个人理解与Python实现
    最小堆实现优先队列:Python实现
    二叉查找树:Python实现
  • 原文地址:https://www.cnblogs.com/innwin/p/1415114.html
Copyright © 2011-2022 走看看