今天看啥  ›  专栏  ›  玄坴

TInterfacedPersistent - C++ Builder

玄坴  · 简书  ·  · 2020-04-27 14:31

System::Classes::TInterfacedPersistent 是所有图片类的父类

  • 简介
  • 成员

一. System::Classes::TInterfacedPersistent 简介

  • 继承关系:
    System::TObject
    ⠀╙ System::Classes::TPersistent
    ⠀⠀⠀┗ System::Classes::TInterfacedPersistent
  • 头文件: #include <System.Classes.hpp>
  • 命名空间: System::Classes
  • System::Classes::TInterfacedPersistent 是所有图片类的父类

二. System::Classes::TInterfacedPersistent 成员

成员函数 说明
public:
AfterConstruction 重载 TObject::AfterConstruction ,当构造函数结束的时候自动调用函数
operator _di_IInterface 类型转换操作符,转为 _di_IInterface 类型
QueryInterface 实现 IInterface 的 QueryInterface 方法,由 IInterface 调用
TInterfacedPersistent 构造函数
~TInterfacedPersistent 析构函数
protected:
_AddRef 实现 IInterface 的方法,引用计数值加一,返回当前计数值
_Release 实现 IInterface 的方法,引用计数值减一,返回当前计数值,如果计数值等于 0,会销毁这个对象
TPersistent:: System::Classes::TPersistent 继承过来的
public: System::Classes::TPersistent 继承过来的
Assign 把 Source 对象的所有的属性和数据赋值到当前对象,包括类型和格式转换再赋值
GetNamePath 返回在 Object Inspector 属性面板里面的名称
TPersistent 构造函数
~TPersistent 析构函数
protected: System::Classes::TPersistent 继承过来的
AssignTo 把当前对象的所有属性和数据都赋值到 Dest 对象
DefineProperties 把非 __published: 属性和数据存入流中
GetOwner 返回对象的拥有者
TObject:: System::TObject 继承过来的
public: System::TObject 继承过来的
BeforeDestruction 在执行析构函数之前会自动调用 BeforeDestruction
ClassInfo 返回运行时类型信息表 (RTTI table)。
没有 RTTI table 会返回 NULL。
从 TPersistent 继承的类会提供 RTTI table
ClassName 获取类名,不包含命名空间的类名字符串。
通过父类指针获取的类名为子类的类名
ClassNameIs 判断类名是否为参数指定的字符串,
通过父类指针判断的是子类的类名
ClassParent 返回父类的类型信息。
C++ 程序也可以使用 dynamic_cast 或 InheritsFrom 判断类型
ClassType 返回类的类型信息,
C++ 一般用 dynamic_cast 判断类型,
也可以使用 TObject 的 InheritsFrom 成员函数
CleanupInstance 清除长字符串、Variants、接口变量等,
把长字符串置为 Empty,Variant 置为 Unassigned 状态。
不要直接调用这个函数,实例销毁时会自动调用
DefaultHandler 默认的消息处理
Dispatch 处理消息的函数
DisposeOf 强制销毁对象。
如果有 RefCount,强制 RefCount 清零并且销毁,
并且 Disposed 属性置为 true
Equals 比较当前对象和 Obj 对象是否相同。
从 TObject 继承的子类需要重载 Equals 来提供比较相同的方法
FieldAddress 通过成员名称返回成员的地址
Free 销毁对象,这是兼容 Delphi 保留的函数,C++ 需要用 delete 销毁对象
FreeInstance 释放 NewInstance 分配的内存,
不要直接调用 FreeInstance,析构函数会自动调用这个函数。
如果重载了 NewInstance 就必须重载 FreeInstance 与之对应。
GetInterface 获取指定的接口
GetInterfaceEntry 获取接口项目
GetInterfaceTable 获取接口表
GetHashCode 返回 hash 值,默认的,返回的整数值为对象的地址
InheritsFrom 当前对象的类是否从 AClass 继承过来的。
如果 AClass 是父类、父类的父类,…… 一直到顶级父类,返回为真
InitInstance 初始化成员,给他们清零。
InitInstance 由 NewInstance 内部调用,不要直接调用这个函数
InstanceSize 返回给实例数据分配内存需要多少字节数,
不要重载这个函数,因为不是 virtual,
只有在重载 NewInstance 时才需要调用这个函数
MethodAddress 通过名称返方法的地址
MethodName 通过方法的地址返回名称
NewInstance 给实例分配内存,并且返回新的实例的地址,
由 InstanceSize 获取字节数。
NewInstance 由构造函数自动调用,不要直接调用这个函数
QualifiedClassName 返回包含命名空间的类名,各个部分用 "." 分割,而不是 "::"
SafeCallException 处理异常的函数
ToString 转为字符串
UnitName 返回类所在的命名空间
UnitScope 返回类所在的命名空间,和 UnitName 返回的结果相同

参考:




原文地址:访问原文地址
快照地址: 访问文章快照