欢迎来到天天文库
浏览记录
ID:39679107
大小:167.28 KB
页数:11页
时间:2019-07-09
《通过Java程序来反映各种类型的耦合、内聚-金初阳》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、通过Java程序来反映各种类型的耦合、内聚耦合性是用来描述模块之间的独立程度。这里讲模块之间的耦合程度分为六个程度R0-R5(Ri>Rj,i>j)。分别是无耦合,数据耦合,标记耦合,控制耦合,共同耦合,内容耦合。无耦合R0:模块X与模块Y没有交互数据耦合R1:模块X与模块Y之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递。一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。代码模拟:packagemetrics.coupling.data;importmetrics.coup
2、ling.data.Person;publicclassMain{publicstaticvoidmain(String[]args){Personperson=newPerson(1.8,56);doubleheight=person.getHeight();doubleweight=person.getWeight();doubleBMI=BMIUtils.getBMI(height,weight);System.out.println("BMI:"+BMI);}}packagemetrics.coupling.data;publicclassPer
3、son{privatedoubleheight;privatedoubleweight;publicPerson(doubleheight,doubleweight){super();this.height=height;this.weight=weight;}publicPerson(){super();//TODOAuto-generatedconstructorstub}publicdoublegetHeight(){returnheight;}publicvoidsetHeight(doubleheight){this.height=height
4、;}publicdoublegetWeight(){returnweight;}publicvoidsetWeight(doubleweight){this.weight=weight;}}packagemetrics.coupling.data;publicclassBMIUtils{publicstaticdoublegetBMI(doubleheight,doubleweight){returnweight/(Math.pow(height,2));}}标记耦合R2:模块X与模块Y之间传递的是数据结构(复合数据类型),一般是指传的是改数据的地址。
5、代码模拟:packagemetrics.coupling.stamp;importmetrics.coupling.stamp.BMIUtils;importmetrics.coupling.stamp.Person;publicclassMain{publicstaticvoidmain(String[]args){Personperson=newPerson(1.8,56);doubleBMI=BMIUtils.getBMI(person);System.out.println("BMI:"+BMI);}}packagemetrics.couplin
6、g.stamp;publicclassPerson{privatedoubleheight;privatedoubleweight;publicPerson(doubleheight,doubleweight){super();this.height=height;this.weight=weight;}publicPerson(){super();//TODOAuto-generatedconstructorstub}publicdoublegetHeight(){returnheight;}publicvoidsetHeight(doubleheig
7、ht){this.height=height;}publicdoublegetWeight(){returnweight;}publicvoidsetWeight(doubleweight){this.weight=weight;}}packagemetrics.coupling.stamp;publicclassBMIUtils{publicstaticdoublegetBMI(Personperson){returnperson.getWeight()/(Math.pow(person.getHeight(),2));}}控制耦合R3:模块X将参数
8、传递给模块Y用以控制模块Y的行为代码模拟:packagemetrics.coup
此文档下载收益归作者所有