• java实验报告(实验二)


    北京电子科技学院

                  

        课程:移动平台应用开发实践   班级:201592     姓名:苏泽楠  学号:20159207

        成绩:             指导教师:娄嘉鹏   实验日期:2015.10.5

        实验密级:         预习程度:             实验时间:

        仪器组次:          必修/选修:选修          实验序号:2

        实验名称:    Java面向对象程序设计   

        实验目的:

        1. 初步掌握单元测试和TDD

        2. 理解并掌握面向对象三要素:封装、继承、多态

        3. 初步掌握UML建模

        4. 熟悉S.O.L.I.D原则

        5. 了解设计模式

        实验要求:

        1.学习《Linux基础入门(新版)》《Vim编辑器》 课程

        2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园

        3. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施

        4. 在~/Code目录中用自己的学号建立一个目录,代码和UML图要放到这个目录中,截图中没有学号的会要求重做,然后跟着下面的步骤练习。

     

        实验设备:                                                                                           

                                                                                                                                   

       

    名称

    型号

    数量

    Computer

     X230

    1

     

     

     

        实验内容:

    (一)单元测试

    伪代码(与语法无关,主要是用来阐释这个产品的主要功能)

    产品代码(一个产品所需要的且用某种语言实现的代码)

    测试代码(主要用来测试产品能否上线,通过对边界值、域、可用值等的测试来检验产品)

    下面我就演示一下关于本次实验的内容:

    我们要在MyUtil类中解决一个百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能。

    首先,按娄老师的要求,我展示一下我的文件夹路径:

    第一步:书写伪代码如下:

       若成绩小于60,转成“不及格”

       若成绩在60与70之间,转成“及格”

       若成绩在70与80之间,转成“中等”

       若成绩在80与90之间,转成“良好”

       若成绩在90与100之间,转成“优秀”

       其他,转成“错误”

    第二步:书写测试代码如下:

    第三步:书写产品代码如下:

     

     运行一下,发现错误,根据错误改进产品代码,

      

      

    改进后的代码如下:运行成功

     

    第四步:测试边界值和异常情况如下:

     

    由上可知,TDD方法已成功实现产品代码。

    接下来,我来演示面向对象的三要素:封装、继承、多态:

    首先,我下载了startUml软件,它是一个建模软件,可以画uml(统一建模语言)图,我理解的抽象和封装是:比如说你和我都是人,咱们就可以抽象一下说,我们属于人类,其实,人类就是一个抽象类,而封装就是把人类的属性(我们都有胳膊、腿、鼻子等等)都封装在人类这个类中。

    接下来是继承:Dog和Cat都继承了Animal的属性:

    如上,用父类声明引用,用子类生成对象,就是多态。

    练习:使用TDD的方式设计实现复数类Complex。

        还是用上面的方法,

    第一步:书写伪代码:

                        若无输入,则复数的实部为0,虚部为0
                        若只输入实部,则复数的实部为输入的数,虚部为0
                        若只输入虚部,则复数的实部为0,虚部为输入的数
                        若实部和虚部都输入,则复数的实部与虚部为相应的输入值

    第二步:书写测试代码,根据测试情况来书写产品代码:

     

    步骤

    耗时

    百分比

    需求分析

    6min

    15.4%

    设计

    12min

    30.8%

    代码实现

    10min

    25.6%

    测试

    7min

    17.9%

    分析总结

    4min

    10.3%

     单元测试的好处:

           1:在测试中进行项目,边改边写,可以将自己设计的项目不断优化;

           2:单元测试是按模块进行的,这有助于实现模块的“块内高内聚,块间低耦合”;

           3:为后续的测试奠定基础,单元测试做好了,后续测试的效率就会提升。

    总结

     此次试验遇到的问题:

        在使用myeclipse的时候,根据AnimalTest.java来修改Animal.java,但修改了好长时间,AnimalTest.java又出现了

    错误。

     解决办法:我将myeclipse关闭,然后又打开,将所有文件ctrl+s了一下,结果错误就消失了。

     分析原因:写完代码一定要ctrl+s一下,要不然无法实现文件的关联,有些方法就无法调用了。

           

  • 相关阅读:
    array_map()与array_shift()搭配使用 PK array_column()函数
    Educational Codeforces Round 8 D. Magic Numbers
    hdu 1171 Big Event in HDU
    hdu 2844 poj 1742 Coins
    hdu 3591 The trouble of Xiaoqian
    hdu 2079 选课时间
    hdu 2191 珍惜现在,感恩生活 多重背包入门题
    hdu 5429 Geometric Progression 高精度浮点数(java版本)
    【BZOJ】1002: [FJOI2007]轮状病毒 递推+高精度
    hdu::1002 A + B Problem II
  • 原文地址:https://www.cnblogs.com/20159207szn/p/4858507.html
Copyright © 2020-2023  润新知