20172325 学号 2017-2018-2 《程序设计与数据结构》实验二报告

Posted 20172325

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172325 学号 2017-2018-2 《程序设计与数据结构》实验二报告相关的知识,希望对你有一定的参考价值。

20172325 学号 2017-2018-2 《程序设计与数据结构》实验二报告
课程:《程序设计与数据结构》
班级: 1723
姓名: 邓煜坤
学号:20172325
实验教师:王志强
实验日期:2018年4月23日
必修/选修: 必修

1.实验内容

  • 1.初步掌握单元测试和TDD
  • 2.理解并掌握面向对象三要素:封装、继承、多态
  • 3.初步掌握UML建模
  • 4.熟悉S.O.L.I.D原则
  • 5.了解设计模式
  • 6完成蓝墨云上 (1)-(5)实验。

2. 实验过程及结果

实验一:

  • 做实验一的时候是按照老师博客做出来的,在过程上很顺利

代码链接

实验二:

  • 实验二按照教程来也很顺利,对TDD的理解也有所帮助

代码链接

实验三:

  • 实验三的内容是对设计用例进行扩充,按照学号除6的余数进行,从中体会OCP,DIP模式。总的来说,做下来以后主要是内容比较繁琐,要注重很多细节,一个地方错了就会一直不能运行,但是IDEA能够在错误的地方给出提示真的很方便,点赞。
  • 那么这两个是什么知识呢?
  • OCP为Open-Closed Principle,开放-封闭原则
    我的浅显理解是使子类能在一定的限制下更方便的继承父类,这就体现出了抽象的重要性;
  • DIP为Dependency Inversion Principle,依赖倒置原则
    通过这张图已经很好的解释DIP的定义和好处。下面是我的实验三成果和码云连接。

代码链接

实验四:

  • 在实验四的实践过程中费了很大的劲,主要是在测试类的理解和运用上面,在整个过程中我进行了很多不必要的步骤,使简单的事变得麻烦,但是随着反反复复的修改和讨论,最后在磕磕绊绊中也算勉强成功了,但是加深了我对TDD的理解,就是集中注意力在测试的点,把握好每一个类的继承与修改。

代码链接

实验五:

  • 实验五主要是学会画一个类图,也就是UML图,这种图在教材上有很多,现在也学着自己构建,觉得很有趣。看起来这只是一个画图工具而已,但是他反映出来的却是编程里的核心思想,在编一个程序之前,我们需要对整个过程有一个宏观的把握,之后是对细节的掌控,而UML类图就能够引导我们一步一步分析编程的思路。所以在具体实践之前先构建UML类图能够很好地帮助我们理清思路并且清晰的解析各个过程。

3. 实验过程中遇到的问题和解决过程

• 问题1:才开始接触用Junit测试一个类,不清楚他的原理,所以在编写几个测试类的时候把他分开建了三四个测试类,感觉不仅冗杂,还得一个一个编写,觉得意义不大,帮了倒忙。
• 问题1解决方案:之后弄懂了他的运行原理,在一个测试类里面可以同时进行不同反面问题的测试,而且它能够自己检测测试点,测试结束后哪个点又问题一目了然,就开始发现了它的优点。

• 问题2:在进行试验三的时候,在Double类下面却输出了整型数。
• 问题2解决方案:把各个声明数据类型的地方逐一修改进行尝试,最后发现关键的一步,做了修改,能够正确的输出想要的数据类型。

3.感悟

  • 这次的实验一下来五个,真的感觉压力挺大的,接受的知识点也很多,但是在一点点啃下来以后的那种释然也很妙。总的来说学到了蛮多的东西,对IDEA的运用也更加熟练了,接下来继续加油吧。

参考资料
实验二《Java面向对象程序设计》的一点说明
实验二 Java面向对象程序设计
Intellj IDEA 简易教程

以上是关于20172325 学号 2017-2018-2 《程序设计与数据结构》实验二报告的主要内容,如果未能解决你的问题,请参考以下文章

20172325 2017-2018-2 《程序设计与数据结构》实验五报告

20172325 2017-2018-2 《程序设计与数据结构》实验一报告

20172325 2017-2018-2 《程序设计与数据结构》第三周学习总结

20172325 2017-2018-2 《Java程序设计》第六周学习总结

20172325 2017-2018-2 《Java程序设计》第八周学习总结

20172325 2017-2018-2 《Java程序设计》第九周学习总结