[发明专利]一种haxe的反射机制的改进方法和系统在审
| 申请号: | 201910720732.0 | 申请日: | 2019-08-05 |
| 公开(公告)号: | CN110413266A | 公开(公告)日: | 2019-11-05 |
| 发明(设计)人: | 陈江豪;刘玉丹 | 申请(专利权)人: | 广东三维家信息科技有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
| 地址: | 510000 广东省广州市天河区天河软件园*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 成员属性 反射机制 访问接口 目标集合 访问目标 父类 反射 改进 集合 访问 缓解 申请 | ||
本发明提供了一种haxe的反射机制的改进方法和系统,其中方法包括:获取待访问haxe生成类的成员属性和成员方法;在haxe的父类Object下面定义成员属性和成员方法的访问接口;将成员属性和成员方法注册到目标集合中;目标集合为与待访问haxe生成类对应的Class类对象;通过反射类利用访问接口访问目标集合。本申请缓解了现有技术中的haxe的反射机制,存在着的效率低下的技术问题。
技术领域
本发明涉及软件开发技术领域,尤其是涉及一种haxe的反射机制的改进方法和系统。
背景技术
Haxe的Reflect类和Type类均使用了反射机制来访问属性。其中Reflect类的接口hasField(用于判断属性是否存在)、field(用于获取某个属性)、getProperty(用于获取某个静态属性)、fields(用于获取所有实例属性)和Type类的getInstanceFields(用于通过类定义获取所有实例属性)、getClassFields(用于通过类定义获取类的静态属性),这些接口都是通过反射机制实现。
对于现有技术中haxe的反射机制,在庞大的工程项目下,存在着效率低下的技术问题,同时,现有技术中的haxe反射机制也会导致这些庞大的工程项目包体大小的急剧增大的问题。具体表现在,每个类定义的__Field/__GetStatic/__GetFields等接口、XXX_sMemberFields数组、XXX_sStaticFields数组,以及注册一个对应的Class类定义对象来存储这些反射关系,在使用反射机制时需要不断溯源,而且__GetFields是新创建一个数组来临时存储这些属性名,这又会占用一部分内存资源和垃圾回收器接口资源。而且hasField局限性在于无法判断实例的属性是否存在,通过实例想知道是否存在某属性只能先把所有属性获取出来,再通过索引字符串数组判断。综上所述,现有技术中的haxe的反射机制,存在着效率低下的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种haxe的反射机制的改进方法和系统,以缓解了现有技术中的haxe的反射机制,存在的效率低下的技术问题。
第一方面,本发明实施例提供了一种haxe的反射机制的改进方法,包括:获取待访问haxe生成类的成员属性和成员方法;在haxe的父类Object下面定义所述成员属性和所述成员方法的访问接口;将所述成员属性和所述成员方法注册到目标集合中;所述目标集合为与所述待访问haxe生成类对应的Class类对象;通过反射类利用所述访问接口访问所述目标集合。
进一步地,在haxe的父类Object下面定义所述成员属性和所述成员方法的访问接口之后,所述方法还包括:在haxe的父类Object下面定义所述待访问haxe生成类的垃圾回收器接口。
进一步地,所述垃圾回收器接口包括:Mark接口和Visit接口。
进一步地,所述成员属性包括:所述待访问haxe生成类的普通属性和所述待访问haxe生成类的静态属性;所述成员方法包括:所述待访问haxe生成类的普通方法和所述待访问haxe生成类的静态方法。
进一步地,所述目标集合包括第一容器、第二容器、第三容器和第四容器,其中,所述第一容器,用于存储所述普通属性;所述第二容器,用于存储所述静态属性;所述第三容器,用于存储所述普通方法;所述第四容器,用于存储所述静态方法。
第二方面,本发明实施例还提供了一种haxe的反射机制的改进系统,包括:获取模块,定义模块,注册模块和访问模块,其中所述获取模块,用于获取待访问haxe生成类的成员属性和成员方法;所述定义模块,用于在haxe的父类Object下面定义所述成员属性和所述成员方法的访问接口;所述注册模块,用于将所述成员属性和所述成员方法注册到目标集合中;所述目标集合为与所述待访问haxe生成类对应的Class类对象;所述访问模块,用于通过反射类利用所述访问接口访问所述目标集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东三维家信息科技有限公司,未经广东三维家信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910720732.0/2.html,转载请声明来源钻瓜专利网。





