TPersistent - C++ Builder

C++ Builder 参考手册 ➙ System::Classes ➙ TPersistent


System::Classes::TPersistent 是 VCL/FMX 里面有复制功能和流处理的类的公共父类。

  • System::Classes::TPersistent 简介
  • System::Classes::TPersistent 成员

一. System::Classes::TPersistent 简介

System::Classes::TPersistent 是 VCL/FMX 里面有复制功能和流处理的类的公共父类。

  • 继承关系:
    System::TObject
    ⠀╙ System::Classes::TPersistent
  • 头文件:#include
  • 命名空间:System::Classes
  • 提供把一个对象的所有属性和数据赋值 (包括格式或类型转换之后再赋值) 给另一个对象的功能;
  • 提供从 .dfm / .fmx 里面读写属性值的功能;
  • 从 TPersistent 继承的类虽然不是控件,但是它的属性可以保存到 .dfm / .fmx 里面,并且提供把所有的属性和数据都赋值到其他对象的功能。经常用在控件的类型为类的属性,这个控件的属性里面的属性和数据也需要保存在 .dfm / .fmx 里面,例如控件的字体属性,虽然字体不是控件,但是作为控件的属性,字体里面的属性,字体名称,大小,字符集等字体的属性,也会保存在 .dfm / .fmx 里面。

二. System::Classes::TPersistent 成员

成员函数 说明
public:  
Assign 把 Source 对象的所有的属性和数据赋值到当前对象
GetNamePath 返回在 Object Inspector 属性面板里面的名称
TPersistent 构造函数
~TPersistent 析构函数
protected:  
AssignTo 把当前对象的所有属性和数据都赋值到 Dest 对象
DefineProperties 把非 __published: 属性和数据存入流中
GetOwner 返回对象的拥有者
TObject:: 从 System::TObject 继承过来的
public: 从 System::TObject 继承过来的
AfterConstruction 在构造函数结束的时候会自动调用 AfterConstruction
BeforeDestruction 在执行析构函数之前会自动调用 BeforeDestruction
ClassInfo 返回运行时类型信息表 (RTTI table)
ClassName 获取类名,不包含命名空间的类名字符串
ClassNameIs 判断类名是否为参数指定的字符串
ClassParent 返回父类的类型信息
ClassType 返回类的类型信息
CleanupInstance 清除长字符串、Variants、接口变量等
DefaultHandler 默认的消息处理
Dispatch 处理消息的函数
DisposeOf 强制销毁对象
Equals 比较当前对象和 Obj 对象是否相同
FieldAddress 通过成员名称返回成员的地址
Free 销毁对象 (Delphi)
FreeInstance 释放 NewInstance 分配的内存
GetInterface 获取指定的接口
GetInterfaceEntry 获取接口项目
GetInterfaceTable 获取接口表
GetHashCode 返回对象的 hash 值
InheritsFrom 当前对象的类是否从 AClass 继承过来的
InitInstance 初始化成员,给他们清零
InstanceSize 返回给实例数据分配内存需要多少字节数
MethodAddress 通过名称返方法的地址
MethodName 通过方法的地址返回名称
NewInstance 给实例分配内存,并且返回新的实例的地址
QualifiedClassName 返回包含命名空间的类名
SafeCallException 处理异常的函数
ToString 转为字符串
UnitName 返回类所在的命名空间
UnitScope 返回类所在的命名空间

参考:

  • System::Classes::TInterfacedPersistent
  • System::Classes::TComponent
  • System::TObject
  • VCL 类继承关系

C++ Builder 参考手册 ➙ System::Classes ➙ TPersistent

你可能感兴趣的:(TPersistent - C++ Builder)