zoukankan      html  css  js  c++  java
  • 2017-2018-2 20165215 实验二 Java面向对象程序设计

    20165215 实验二 Java面向对象程序设计

    一、实验报告封面

    课程:Java程序设计 班级:1652班 姓名:张家佳 学号:20165215

    指导教师:娄嘉鹏 实验日期:2018年4月16日

    实验时间:15:35 - 18:00 实验序号:二

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

    实验目的与要求:

    1. 完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题以及分析
    2. 实验报告中统计自己的PSP(Personal Software Process)时间
    3. 掌握使用IDEA完成基础编程与程序调试的能力

    二、实验内容

    1. 初步掌握单元测试和TDD
    2. 理解并掌握面向对象三要素:封装、继承、多态
    3. 初步掌握UML建模
    4. 熟悉S.O.L.I.D原则
    5. 了解设计模式

    三、实验步骤

    (一)单元测试

    • 新建一个项目,在项目下新建MyUtil

    • 测试对类的实现,类XXXX的单元测试,我们一般写建一个XXXXTest的类,针对MyUtil类我们写一个MyUtilTest.java的测试模块。

    • 若测试结果符合预期,则出现test passed!(如下图),否则将显示错误

    • 正常情况

    • 异常情况

    • 边界情况

    (二)以 TDD的方式研究学习StringBuffer

    1. 创建新目录,并在该目录下创建StringBufferDemo
    2. 鼠标单击类名,单击出现的灯泡状图标或按Alt + Entert,在弹出的菜单中选择Create Test

    1. 编写代码测试StringBufferDemo类的的charAt(),indexOf(),capacity(),length(),toString()
    • capacity()返回的是目前的最大容量
    • length()返回的是字符串的长度
    • indexOf(String s)子串匹配,返回输入的子字符串的第一个字母在母字符串的位置
    • charAt(int i)返回的是字符串中的第i+1个字符

    4.运行结果

    (三)对设计模式示例进行扩充

    1. 我的学号是20165215,15%6=3,因此需要让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确
    2. 在程序中新建Long类(Date类的子类)和LongFactory类(Factroy类的子类)
    3. 修改主函数MyDoc为
    public class MyDoc {
        static Document d;
        public static void main(String[] args) {
            d = new Document(new LongFactory());
            d.DisplayData();
        }
    
    1. 运行结果

    (四)以TDD的方式开发一个复数类Complex

    (五)使用StarUML对实验二中的代码进行建模

    实验中遇到的问题

    • 问题:创建test类时,junit显示为红标

    • 解决方法:在Project Structure中添加如下junit包,并将Testing library由JUnit3改为JUnit4

    代码托管

    PSP时间

    步骤 耗时 百分比
    需求分析 10min 9.5%
    设计 15min 14.2%
    代码实现 30min 28.5%
    测试 20min 19.0%
    分析总结 30min 28.5%

    参考资料

  • 相关阅读:
    TinyMail研究—Camellite的插件系统
    Dual Tone Multifrequency
    Linux PPP 数据收发流程
    这个五一怎么过?
    Linux下的磁盘加密方法
    udev的实现原理
    c语言中程序的循环控制,for语句。
    创建一个函数,将和有n个元素的数组中的key相等的所有元素的下标存储在另一数组中,并返回和key元素相同的元素的个数。
    c语言中数组元素的哨兵查找法
    c语言中数组,一般数组
  • 原文地址:https://www.cnblogs.com/fyss/p/8892783.html
Copyright © 2011-2022 走看看