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,加减乘除都是小意思。
    实验五:这个实验需要写出类图。只要说明类图中的方法和属性就可了。

    实验结果

    实验一

    实验二

    实验三

实验四




实验五

实验中遇到的问题

最新文章

  1. 如何区别char与varchar?
  2. C# redis使用
  3. Spark源码系列(六)Shuffle的过程解析
  4. HDU4614 Vases and Flowers
  5. xfire构建webservice项目步骤以及使用
  6. 各种div+css居中方式调整(转载)
  7. 东软实训4-JDBC连接数据库
  8. JDK + Tomcat 安装配置
  9. 初识oracle存储过程
  10. 查询集API -- Django从入门到精通系列教程
  11. JWT
  12. python默认编码设置
  13. 如何下载西门子产品CAD、3D和EPLAN文件
  14. Magento 2 Theme Ultimate Guide - 如何创建Magento 2主题终极指南
  15. A1071. Speech Patterns
  16. 跟着未名学Office - 高效笔记OneNote
  17. hessian 反序列化问题
  18. Oracle TO_DATE() 函数格式化时间【全】
  19. spring boot学习总结(二)-- 关于@SpringBootApplication的一些基础知识点
  20. ASP.NET 4(和ASP.NET MVC 2)中输出HTML编码的新语法<%:%>

热门文章

  1. HDU 1259 ZJUTACM
  2. C++中getline()和cin()同时使用时的注意事项
  3. 汇编与C语句
  4. Apple Notification Center Service--ANCS【转】
  5. NB-iot 和 emtc两种技术区别
  6. MySQL参数设置
  7. 谈谈.NET MVC QMVC高级开发
  8. Access中替代case when的方法 .
  9. mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
  10. 【前端】上拉加载更多dropload.min.js的使用