鱼C论坛

 找回密码
 立即注册
查看: 479|回复: 1

求大佬看一下FHashList这个变量是谁赋的值

[复制链接]
发表于 2024-8-5 11:35:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  THashMap = class(TInterfacedObject, IObject, IMap, IExtMap, IFListHolder, IFLockedListHolder, IFHashLockedListHolder)
  protected
    FHashList: IFHashLockedList;
    function GetFList: IFList;
    procedure SetFList(l: IFList);
    function GetFLockedList: IFLockedList;
    procedure SetFLockedList(l: IFLockedList);
    function GetFHashLockedList: IFHashLockedList;
    procedure SetFHashLockedList(l: IFHashLockedList);
  public
    constructor Create;
    constructor Create(keys: array of shortstring; values: array of IObject); overload;
    constructor Create(keys: array of shortstring; values: array of const); overload;
  public
    procedure Clear;
    function ContainsKey(const key: shortstring): Boolean;
    function ContainsValue(value: IObject): Boolean;
    function EntrySet: ISet;
    function Get(const key: shortstring): IObject;
    function IsEmpty: Boolean;
    function KeySet: ISet;
    function Put(const key: shortstring; value: IObject): IObject;
    procedure PutAll(m: IMap);
    function Remove(const key: shortstring): IObject;
    function Size: Integer;
    function Values: ICollection;
  public
    function GetStringObject(const key: shortstring): IString;
    function GetString(const key: shortstring): string; overload;
    function GetString(const key: shortstring; const def: string): string; overload;
    function OutString(const key: shortstring): string; overload;
    function OutString(const key: shortstring; const def: string): string; overload;
    function GetBooleanObject(const key: shortstring): IBoolean;
    function GetBoolean(const key: shortstring): Boolean; overload;
    function GetBoolean(const key: shortstring; def: Boolean): Boolean; overload;
    function OutBoolean(const key: shortstring): Boolean; overload;
    function OutBoolean(const key: shortstring; def: Boolean): Boolean; overload;
    function GetDoubleObject(const key: shortstring): IDouble;
    function GetDouble(const key: shortstring): Double; overload;
    function GetDouble(const key: shortstring; def: Double): Double; overload;
    function OutDouble(const key: shortstring): Double; overload;
    function OutDouble(const key: shortstring; def: Double): Double; overload;
    function GetIntegerObject(const key: shortstring): IInteger;
    function GetInteger(const key: shortstring): Integer; overload;
    function GetInteger(const key: shortstring; def: Integer): Integer; overload;
    function OutInteger(const key: shortstring): Integer; overload;
    function OutInteger(const key: shortstring; def: Integer): Integer; overload;
    function Put(const key: shortstring; const value: string): string; overload;
    function Put(const key: shortstring; value: Boolean): Boolean; overload;
    function Put(const key: shortstring; value: Double): Double; overload;
    function Put(const key: shortstring; value: Integer): Integer; overload;
  end;        

             FHashList这个变量是谁赋的值      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-5 11:35:17 | 显示全部楼层
在您提供的代码中,`FHashList` 是 `THashMap` 类的一个成员变量,它的类型为 `IFHashLockedList`。这个变量的值通常是在构造函数中赋值的。

让我们来看看构造函数的部分:
constructor Create;
constructor Create(keys: array of shortstring; values: array of IObject); overload;
constructor Create(keys: array of shortstring; values: array of const); overload;

在这个类中,虽然您没有看到直接对 `FHashList` 的赋值,但在 `Create` 构造函数中,您可以添加一行代码来初始化 `FHashList` 变量,例如:
constructor THashMap.Create;
begin
  inherited Create;
  FHashList := TMyHashLockedList.Create; // 假设 TMyHashLockedList 是 IFHashLockedList 的一个实现
end;

这样,每当您创建一个 `THashMap` 的实例时,`FHashList` 就会被赋上新值。

不过,由于该类也有重载的构造函数,您可能希望在这些构造函数中同样初始化 `FHashList`。例如:
constructor THashMap.Create(keys: array of shortstring; values: array of IObject);
begin
  inherited Create;
  FHashList := TMyHashLockedList.Create; 
  // 这里可以添加使用 keys 和 values 初始化其他数据结构的逻辑
end;

简而言之,`FHashList` 的赋值应该在构造函数内完成,而具体是用什么类来初始化,这依赖于您的设计和实现。记得要确保在使用 `FHashList` 前它已经被正确赋值哦,不然就像去餐馆点了菜却发现空盘子一样尴尬!希望这个回答能帮到你,继续加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表