- 4
- 0
- 约7.03千字
- 约 7页
- 2019-03-15 发布于广东
- 举报
系
信息工程学院
学号
重庆科技学院信息工程学院论文题目:Java柔性多态功能设计与实现
作 者 小 喻
专 业 计算机科学与技术
班 级 计科A1001
成 绩
指导教师 张望
2013年1月10日
Java柔性多态功能设计与实现
小喻
重庆科技学院,重庆
摘要:
提出了柔性多态设计思想,即固化接口定义,由子类多态派发函数实现对真实函数的功能调 用。应用这种设计,仅修改所屈模块就可以完成相应功能的增加、删除、修改,父类接口及 相关联各模块均不用变化。也就是说当需求分析变化时,程序改动最小。
关键词:柔性多态;固化接口;派发函数;模块
Design and implementation of Java flexible polym orphism
Jin Baidong:
(School of computer and infonuation technology , Liaoning nornuil university, Liaoning, Dalian 116081, China)Abstract: Tn this article, an idea of flexible polymorphism design is proposed, namely fixing the interface define and executing the real function through the polymorphic dispatch function. Applying this design, only reprogram of relevant modules is needed to add, update and delete the appropriate fun ctions, while pare nt interfaces and other relevant modules needs not to be changed? That is to say that the least change is needed when requirement analysis changes.
Key words: flexible polymorphism ; fixing interface; dispatch function; module
0引言
多态是编程屮常用的一种技术,例如编制求圆和长方形面积的类图(如图1所示)。
《Request area》ClientClientfloat getArea()Rectanglefloat getArea()
《Request area》
Client
Client
float getArea()
Rectanglefloat getArea()
图1多态类图示例
从图1可以看出这是常规的多态程序设计,父类是Shape,多态接El函数是float getAreaO; 子类Circle及Rcctanglo分别重写了多态函数getAreaO;客户端通过动态绑定对接口编程实 现了求圆或长方形血积的功能。但是随着时间的推移,如果还需要求圆和长方形的周长,该 如何修改程序呢?普通的思路是:重新定义接口 Shape ,增加求周长接口函数float getAroundLenO ,再在Circle及Rectangle类中实现getAroundLeni^i数的具体功能。这势必 造成接口及实现模块,客户端调用程序等需要修改并重新编译。这是我们不希望看到的,我 们希望仅底层具体模块功能需修改并编译,而接口,上层模块及客户端程序不要重新编写。 因此,如何巧妙运用多态,满足不断变化的需求,只修改须改变的具体模块,是本文论述的 重点。
1?普通多态编程局限性
从图1及上述分析中可看出:如果接口函数内容发生变化,那么相应的各实现子类必须发生 变化,导致相关联的各级模块必须重新编程及编译,这即是普通多态编程的局限性。造成这 一结果的主要原因是父类、子类定义的多态函数关联过强,消除这种关联性,是实现本文柔 性多态功能的关键。
2柔性多态设计与实现
柔性多态是指程序架构必须满足不断发展的需求分析的变化要求,只修改需要改变的子模 块,而相关联模块及主程序都不需要改变。
2. 1简单实例代码
仍以求圆和长方形面积、周长为例,采用柔性多态,具体代码如下(仅列了接口Shape及Circle 代码,Rectangle代码大致同Circle,故略):
interface Shape
{
public boolean dispatch(int hiD, Object in):
{
class Circle imp1 emonts Shape
{
public float r
public
您可能关注的文档
最近下载
- 重庆天齐锂电新材料有限公司新建1000吨_年高能锂电材料电池级金属锂项目环评报告.pdf VIP
- DB65T 3694-2015 现行哈萨克文与西里尔哈萨克文编码字符转换规则.docx VIP
- TGXAS 1044-2025《中医护理三级查房规范》(发布稿).pdf VIP
- 华为云服务登录.doc VIP
- 采砂场工业用水水资源论证论证表详解.doc VIP
- Onkyo安桥TX-NR828中文说明书.pdf
- 采砂场工业用水水资源论证论证表分析报告.doc
- 【中考】2025年广东佛山数学试卷(原卷+答案).docx VIP
- 2021年广东省佛山市中考数学真题及答案.pdf VIP
- SpaceX火星探索任务成本预算与风险管理分析报告.docx
原创力文档

文档评论(0)