树形结构的实现方法、装置及客户端制造方法及图纸

技术编号:28499107 阅读:19 留言:0更新日期:2021-05-19 22:38
本申请涉及一种树形结构的实现方法、装置及客户端,树形结构的实现方法包括通过定义通用访问接口父类,在通用访问接口父类下生成具体访问者对象,在具体访问者对象中定义功能具体实现函数,创建树形结构,树形结构与通用访问接口父类连接以调用具体访问者对象的功能具体实现函数。本申请可以在不改动原来树形结构实现的情况下,通过增加具体访问者对象和功能具体实现函数实现新的功能,提高编码效率、避免不规范的编码方式,适用于多人协作编程场景。景。景。

【技术实现步骤摘要】
树形结构的实现方法、装置及客户端


[0001]本申请属于计算机
,具体涉及一种树形结构的实现方法、装置及客户端。

技术介绍

[0002]在日常java编码中,操作树形结构菜单是一个很频繁的需求。通常在操作树形结构菜单的时候都会定义一种组合结构,每个组合结构包含抽象组件对象Compoent、叶子节点对象Leaf和组合对象Composite三种角色。这三种角色中Component是Leaf和Composite的父类,主要是定义整个组合对象的接口,并提供一些缺省的实现。Leaf用于定义和实现叶子对象的行为,不在包含其他的子节点对象。Composite通常会包含子的Composite组件,定义包含子组件的组件行为,并实现在组件接口中定义与子组件有关的操作。在每次操作属性结构时,都需要在父类Component中定义新的方法,子类重新去实现,编码效率低且非常不方便,并且,由于编程人员水平不一,子类的实现方法也是各异,在多人编程实现一个功能时会导致代码不规范。

技术实现思路

[0003]为至少在一定程度上克服现有树形结构中,在每次操作树形结构时,都需要在父类Component中定义新的方法,子类重新去实现,编码效率低且非常不方便,并且,由于编程人员水平不一,子类的实现方法也是各异,在多人编程实现一个功能时会导致代码不规范的问题,本申请提供一种树形结构的实现方法、装置及客户端。
[0004]第一方面,本申请提供一种树形结构的实现方法,包括:
[0005]定义通用访问接口父类,在所述通用访问接口父类下生成具体访问者对象;
[0006]在所述具体访问者对象中定义功能具体实现函数;
[0007]创建树形结构,所述树形结构与所述通用访问接口父类连接以调用所述具体访问者对象的功能具体实现函数。
[0008]进一步的,所述树形结构包括:
[0009]抽象组合对象父类和叶子节点对象子类和组合对象子类;
[0010]所述抽象组合对象父类和所述组合对象子类调用所述功能具体实现函数。
[0011]进一步的,所述功能具体实现函数包括:
[0012]增加函数、删除函数和修改函数。
[0013]进一步的,所述通用访问接口包括:
[0014]抽象访问方法,抽象访问方法用于访问组合对象子类的操作和/或访问叶子节点对象子类的操作。
[0015]进一步的,还包括:
[0016]构造对象结构;
[0017]所述通用访问接口父类通过所述对象结构访问所述树形结构。
[0018]进一步的,所述对象结构包括:
[0019]访问者对象结构,用于接收所述具体访问者对象的功能具体实现函数;
[0020]组件对象结构,用于遍历所有的子节点,以使每个子节点都执行功能具体实现函数。
[0021]进一步的,所述叶子节点对象子类和组合对象子类包括:
[0022]回调函数,所述回调函数用于接收访问者对象结构的功能具体实现函数,根据所述的功能具体实现函数执行动作。
[0023]第二方面,本申请提供一种树形结构的实现装置,包括:
[0024]第一定义模块,用于定义通用访问接口父类,在所述通用访问接口父类下生成具体访问者对象;
[0025]第二定义模块,用于在所述具体访问者对象中定义功能具体实现函数;
[0026]创建模块,用于创建树形结构,所述树形结构与所述通用访问接口父类连接以调用所述具体访问者对象的功能具体实现函数;
[0027]进一步的,还包括:
[0028]构造模块,用于构造对象结构,以使所述通用访问接口父类通过所述对象结构访问所述树形结构。
[0029]第三方面,本申请提供一种客户端,包括:
[0030]如第二方面所述的树形结构的实现装置。
[0031]本申请的实施例提供的技术方案可以包括以下有益效果:
[0032]本专利技术实施例提供的树形结构的实现方法、装置及客户端,通过定义通用访问接口父类,在通用访问接口父类下生成具体访问者对象,在具体访问者对象中定义功能具体实现函数,创建树形结构,树形结构与通用访问接口父类连接以调用具体访问者对象的功能具体实现函数,可以在不改动原来树形结构实现的情况下,通过增加具体访问者对象和功能具体实现函数实现新的功能,提高编码效率、避免不规范的编码方式,适用于多人协作编程场景。
[0033]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0034]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0035]图1为本申请一个实施例提供的一种树形结构的实现方法的流程图。
[0036]图2为本申请另一个实施例提供的一种树形结构的实现方法的流程图。
[0037]图3为本申请一个实施例提供的一种树形结构的实现装置的功能结构图。
具体实施方式
[0038]为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
[0039]图1为本申请一个实施例提供的树形结构的实现方法的流程图,如图1所示,该树形结构的实现方法,包括:
[0040]S11:定义通用访问接口父类,在通用访问接口父类下生成具体访问者对象;
[0041]S12:在具体访问者对象中定义功能具体实现函数;
[0042]S13:创建树形结构,树形结构与通用访问接口父类连接以调用具体访问者对象的功能具体实现函数。
[0043]传统树形结构实现时都会定义一种组合结构,每个组合结构包含抽象组件对象Compoent、叶子节点对象Leaf和组合对象Composite三种角色。这三种角色中Component是Leaf和Composite的父类,主要是定义整个组合对象的接口,并提供一些缺省的实现。Leaf用于定义和实现叶子对象的行为,不在包含其他的子节点对象。Composite通常会包含子的Composite组件,定义包含子组件的组件行为,并实现在组件接口中定义与子组件有关的操作。在每次操作属性结构时,都需要在父类Component中定义新的方法,子类重新去实现,编码效率低且非常不方便,并且,由于编程人员水平不一,子类的实现方法也是各异,在多人编程实现一个功能时会导致代码不规范。
[0044]本实施例中,通过定义通用访问接口父类,在通用访问接口父类下生成具体访问者对象,在具体访问者对象中定义功能具体实现函数,创建树形结构,树形结构与通用访问接口父类连接以调用具体访问者对象的功能具体实现函数,可以在不改动原来树形结构实现的情况下,通过增加具体访问者对象和功能具体实现函数实现新的功能,提高本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种树形结构的实现方法,其特征在于,包括:定义通用访问接口父类,在所述通用访问接口父类下生成具体访问者对象;在所述具体访问者对象中定义功能具体实现函数;创建树形结构,所述树形结构与所述通用访问接口父类连接以调用所述具体访问者对象的功能具体实现函数。2.根据权利要求1所述的树形结构的实现方法,其特征在于,所述树形结构包括:抽象组合对象父类和叶子节点对象子类和组合对象子类;所述抽象组合对象父类和所述组合对象子类调用所述功能具体实现函数。3.根据权利要求1或2所述的树形结构的实现方法,其特征在于,所述功能具体实现函数包括:增加函数、删除函数和修改函数。4.根据权利要求2所述的树形结构的实现方法,其特征在于,所述通用访问接口包括:抽象访问方法,抽象访问方法用于访问组合对象子类的操作和/或访问叶子节点对象子类的操作。5.根据权利要求2所述的树形结构的实现方法,其特征在于,还包括:构造对象结构;所述通用访问接口父类通过所述对象结构访问所述树形结构。6.根据权利要求5所述的树形结构的实现方法,其特征在...

【专利技术属性】
技术研发人员:宁炳剑
申请(专利权)人:广州欢网科技有限责任公司
类型:发明
国别省市:

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

1