参考《Objects》
文章目录
概要
- 概要
- 常用接口
- 运行时创建UObject
- 获取所属UWorld
- 获取元信息
- 获取Name
UObject
是UE4反射系统得核心基类,它实现了下列机制:
- 垃圾回收(GC:Garbage collection)
- 反射(Reflection)
- 运行时类型信息可用(Type information available at runtime )
- 序列化(Serialization)
- 自动编辑器整合(Automatic editor integration)
- 网络复制(Network replication)
- 自动属性初始化(Automatic property initialization)
- 引用更新(Reference updating)
- 默认属性变化自动更新(Automatic updating of default property changes)
- 需要使用
NewObject()
创建,它是一个全局泛型函数
UMyObject* MyUObj = NewObject();
- 虽然
AActor
和UActorComponent
也是UObject
的派生类,但是UML类图上UObject
以下的这两个分支都不使用NewObject()
创建
virtual class UWorld* GetWorld() const;
获取元信息
注意:GetClass()
方法其实不是在UObject
中定义,而是在其基类UObjectBase
定义的
FORCEINLINE UClass* GetClass() const
获取Name
注意:GetName()
方法其实也不是在UObject
中定义,而是在其基类UObjectBaseUtility
定义的
FORCEINLINE FString GetName() const