一种使用制造技术

技术编号:39790030 阅读:14 留言:0更新日期:2023-12-22 02:27
本发明专利技术属于计算机技术领域,提供了一种使用

【技术实现步骤摘要】
一种使用java语言实现的模型多继承方法、装置及计算机可读存储介质


[0001]本专利技术属于计算机
,具体地说,是涉及一种使用
java
语言实现的模型多继承方法

装置及计算机可读存储介质


技术介绍

[0002]与单一继承相比,多继承具有以下几个优势:多继承能够从多个父类中继承属性和方法:
(1)
通过多继承,一个派生类可以同时获得多个不同父类的属性和方法,这样可以使得代码更具有复用性和灵活性,避免通过代码复制和粘贴来实现类似的功能;
(2)
多继承可以表达更丰富的类关系:一些现实世界的问题需要使用多个不同父类的特性来进行建模,例如:一个类同时具有
"
动物
"

"
飞行器
"
的特性

通过多继承的方式,可以让派生类直接继承这些不同的特性,准确地表达类之间的关系

[0003]Java
语言本身并不支持多继承,即一个类不能直接继承多个类

这是
Java
语言的设计决策之一,旨在保持代码的清晰性

继承关系的简单性和减少潜在的冲突

现有技术中,
Java
可以通过使用接口
(Interface)
来实现类似多继承的效果,
Java
允许一个类实现多个接口,从而获得多个接口的功能,其主要存在以下不足:<br/>(1)
需要在每个实现接口的类中复制一遍代码,以完成接口的实现,开发的工作量或程序维护的工作量较大;
(2)
只能得到新的子类,并不会修改原来的类,增加了扩展的复杂度和代码量


技术实现思路

[0004]本专利技术的目的在于提供一种使用
java
语言实现的模型多继承方法,以解决现有技术通过使用接口来实现类似多继承所存在的技术问题

[0005]为了实现上述目的,本专利技术采取的技术方案如下:
[0006]一种使用
java
语言实现的模型多继承方法,包括以下步骤:
[0007]步骤
S1
:在
Java
类中使用模型注解声明模型;
[0008]步骤
S2
:在
Java
的运行时,反射标记模型注解的
Java
类,获取所述步骤
S1
中模型声明的原始元数据,所述原始元数据包含模型的名称

继承关系

字段

方法;
[0009]步骤
S3
:根据所述原始元数据的继承关系构建元模型;
[0010]步骤
S4
:将所述元模型登记到模型注册表;
[0011]步骤
S5
:根据所述原始元数据的模型名称从模型注册表获取元模型;
[0012]步骤
S6
:调用所述步骤
S5
中的元模型的创建方法,实例化一个模型数据集,所述模型数据集提供通过所述模型数据集的
get/set
方法读写字段,字段的值保存在数据集仓库中,所述模型数据集提供通过所述模型数据集的
call
方法执行模型的方法,所述模型数据集提供通过所述模型数据集的
callSuper
方法执行模型继承的父模型的方法

[0013]在一种实施方案中,所述步骤
S1

Java
类中使用模型注解声明模型具体包括:
[0014](1)

Java
的类上使用注解声明模型的名称和继承关系;
[0015](2)

Java
的类中,使用静态字段声明模型字段的原始元数据;
[0016](3)

Java
的方法上使用注解声明模型的方法

[0017]在一种实施方案中,所述步骤
S3
根据所述原始元数据构建元模型的具体方法如下:根据所述原始元数据的继承关系,解析出最终的模型元数据,并保存为元模型

[0018]在一种实施方案中,所述步骤
S3
中,在
Java
的运行时,动态解析注解构建继承关系;在继承关系中,子模型的字段覆盖父模型的字段,子模型的方法覆盖父模型的方法,当继承多个父模型时,按声明的顺序解析继承链路

[0019]在一种实施方案中,所述解析出最终的模型元数据包括解析模型的名称

继承关系

字段

方法

[0020]在一种实施方案中,解析模型方法时,根据
MRO
算法,构建模型方法链表,构建后的方法链表保存在方法字典中

[0021]在一种实施方案中,调用模型方法时,根据方法名从所述方法字典中加载出方法链表,匹配到真实的
Java
方法进行调用

[0022]在一种实施方案中,当同一
Java
类的方法相互调用时,通过
Java
类的动态代理拦截所有模型的方法,在拦截器中判断应该执行当前方法还是需要根据模型
MRO
计算,并根据判断结果进行调用

[0023]为实现上述目的,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现所述的一种使用
java
语言实现的模型多继承方法

[0024]为实现上述目的,本专利技术还提供了一种使用
java
语言实现的模型多继承装置,包括处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使得所述一种使用
java
语言实现的模型多继承装置执行上述的一种使用
java
语言实现的模型多继承方法

[0025]与现有技术相比,本专利技术具备以下有益效果:
[0026](1)
本专利技术以元数据的方式描述的业务模型,支持多继承复用,可以把通用的业务逻辑抽取成独立模型,在具体业务模型中继承即可复用;相较于现有技术所采用的
Java
一个类实现多个接口,需要在每个实现接口的类中复制一遍代码,以完成接口的实现,本专利技术从开发的工作量或程序维护的工作量上均较低,可有效提升效率

[0027](2)
本专利技术中模型是解析性的,模型的继承关系,除了支持多继承,还可以自己继承自己,从而扩展原来的模型;当系统标准功能开发完成后,二次开发可以不用修改原来的原代本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种使用
java
语言实现的模型多继承方法,其特征在于,包括以下步骤:步骤
S1
:在
Java
类中使用模型注解声明模型;步骤
S2
:在
Java
的运行时,反射标记模型注解的
Java
类,获取所述步骤
S1
中模型声明的原始元数据,所述原始元数据包含模型的名称

继承关系

字段

方法;步骤
S3
:根据所述原始元数据的继承关系构建元模型;步骤
S4
:将所述元模型登记到模型注册表;步骤
S5
:根据所述原始元数据的模型名称从模型注册表获取元模型;步骤
S6
:调用所述步骤
S5
中的元模型的创建方法,实例化一个模型数据集,所述模型数据集提供通过所述模型数据集的
get/set
方法读写字段,字段的值保存在数据集仓库中,所述模型数据集提供通过所述模型数据集的
call
方法执行模型的方法,所述模型数据集提供通过所述模型数据集的
callSuper
方法执行模型继承的父模型的方法
。2.
根据权利要求1所述的使用
java
语言实现的模型多继承方法,其特征在于,所述步骤
S1

Java
类中使用模型注解声明模型具体包括:
(1)

Java
的类上使用注解声明模型的名称和继承关系;
(2)

Java
的类中,使用静态字段声明模型字段的原始元数据;
(3)

Java
的方法上使用注解声明模型的方法
。3.
根据权利要求2所述的使用
java
语言实现的模型多继承方法,其特征在于,所述步骤
S3
根据所述原始元数据构建元模型的具体方法如下:根据所述原始元数据的继承关系,解析出最终的模型元数据,并保存为元模型
。4.
...

【专利技术属性】
技术研发人员:梁荣振曾武张海强
申请(专利权)人:浙江常青树信息技术有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1