20172304 实验二 《Java面向对象程序设计》 实验报告

  • 课程名称:《程序设计与数据结构》
  • 学生班级:1723班
  • 学生姓名:段志轩
  • 学生学号:20172304
  • 实验时间:2018年4月18日
  • 实验名称:《Java面向对象程序设计》
  • 指导老师:王志强老师

    代码链接

    实验内容

  • 初步掌握单元测试和TDD

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

  • 初步掌握UML建模

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

  • 了解设计模式

  • 完成蓝墨云上 (1)-(5)实验。

    实验要求

  • 完成实验二《Java面向对象程序设计》中的内容。
  • 其中Eclipse相关的内容参考Intellj IDEA 简易教程换成IDEA实现。

    实验考核规则

  • 每次实验考核3分

  • 不按要求提交实验过程截图会扣一分(本周五次,只要有一个不合格就会扣分)

  • 实验报告认真写的会加1分(主要是遇到的问题和解决过程)

    实验流程

    软件准备:

  • IEDA
  • starUML

实验内容:

  • 初步掌握单元测试和TDD

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

  • 初步掌握UML建模

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

  • 了解设计模式

    实验具体内容

  • 实验一:创建Myunit类,并对Myunit类进行测试实现边界检查。
  • 实验二:学习StringBuffer类并进行测试。、
  • 实验三:让系统支持long型,并添加测试代码。
  • 实验四:设计Complex类(复数类),使其支持加减乘除。还有getter,setter,还有toString方法。
  • 实验五:实现实验二中的代码,使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。

    实验分析

    实验主要是让我们熟悉TDD和单元测试。
    ==TDD==:

  • 明确当前要完成的功能,记录成一个测试列表
  • 快速完成编写针对此功能的测试用例
  • 测试代码编译不通过(没产品代码呢)
  • 编写产品代码
  • 测试通过
  • 对代码进行重构,并保证测试通过(重构下次实验练习)
  • 循环完成所有功能的开发
    ==S.O.L.I.D==;
  • SRP(Single Responsibility Principle,单一职责原则)
  • OCP(Open-Closed Principle,开放-封闭原则)
  • LSP(Liskov Substitusion Principle,Liskov替换原则)
  • ISP(Interface Segregation Principle,接口分离原则)
  • DIP(Dependency Inversion Principle,依赖倒置原则)
    实验一:根据例子给出的Myutil类进行测试。根据TDD原则,先编出测试代码,然后添加方法。根据例子来看应该对不同等级进行测试然后还要进行边界检查。
    实验二:实验二主要是对StringBuffer类进行学习,并测试其中的方法,由于这个类是java中已有的类,所以重点进行测试,通过一些数据的比较得到。
    实验三:由于例子已经给出,只要使系统支持自己学号对6取余后的数字对应的类型就可以了。
    实验四:这个类是自己编写的。我设计了实部与虚部的getter和setter,加减乘除都是小意思。
    实验五:这个实验需要写出类图。只要说明类图中的方法和属性就可了。

    实验结果

    实验一

    实验二

    实验三

实验四




实验五

实验中遇到的问题

20172304 实验二 《Java面向对象程序设计》 实验报告的更多相关文章

  1. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  2. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  3. 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告

    20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...

  4. 实验二Java面向对象程序设计实验报告(2)

    实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...

  5. 实验二 Java面向对象程序设计实验报告

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

  6. 20145326《Java程序设计》实验二Java面向对象程序设计实验报告

    20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  7. 20155217 实验二 Java面向对象程序设计 实验报告

    20155217 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模 ...

  8. 20145219 《Java程序设计》实验二 Java面向对象程序设计实验报告

    20145219 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...

  9. 20162305 实验二 Java面向对象程序设计 实验报告

    20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...

  10. 20145239杜文超 《Java程序设计》实验二 Java面向对象程序设计实验报告

    20145239 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...

随机推荐

  1. pandas 实现rfm模型

    import pandas as pd import numpy as np df = pd.read_csv('./zue_164466.csv') df['ptdate'] = pd.to_dat ...

  2. Java实现链式存储的二叉查找树(递归方法)

    二叉查找树的定义: 二叉查找树或者是一颗空树,或者是一颗具有以下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均小于根节点的关键字: 2. 若右子树非空,则右子树上所有节点关键字值 ...

  3. c++程序设计中的函数重载

    函数重载的意思是在一个作用域内(命名空间内)定义了某个或某些具有相同名称的函数,但是他们的参数列表和定义(实现)不相同,如果相同的话,就没啥意义了.当调用一个重载函数时,编译器会通过所使用的参数类型. ...

  4. 字符加密 cipher

    评测传送门 Description: Valentino 函数的定义: 对于一个由数字和小写字母组成的字符串 S,两个整数 K,M,将 S 视为一个 P 进制数,定义: Valentino(S, K, ...

  5. flask跨域请求三行代码搞定

    flask跨域请求三行代码就可以搞定.但是请注意几点: 第一:只能返回json格式数据,比如list.ndarray等都不可以 第二:返回的对象必须是是字符串.元组.响应实例或WSGI可调用. pyt ...

  6. base64 与字符串互转

    #region 将Base64编码的文本转换成普通文本 /// <summary> /// 将Base64编码的文本转换成普通文本 /// </summary> /// < ...

  7. 快速修改Matlab默认启动路径(Windows/Mac)

    如何修改Matlab启动路径/Windows or Mac 控制台内输入一下两行命令,之后重启MATLAB即可   newpath = '你所要设定的路径'; userpath(newpath)   ...

  8. Go语言fmt库的print函数源码解析

    // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a B ...

  9. 洛谷 P4559: bzoj 5319: [JSOI2018]军训列队

    题目传送门:洛谷 P4559. 题意简述: 有 \(n\) 个学生,编号为 \(i\) 的学生有一个位置 \(a_i\). 有 \(m\) 个询问,每次询问编号在 \([l,r]\) 区间内的学生跑到 ...

  10. 新手向-同步关键字synchronized对this、class、object、方法的区别

    synchronized的语义 实验 分析 在看源代码时遇到多线程需要同步的时候,总是会看见几种写法,修饰方法.修饰静态方法.synchronized(Xxx.class).synchronized( ...