前言:
本博客主要针对第一周期三次作业情况的总结,以及对面对象思想的心得体会和近期学习情况的一个自我总结。
一、作业过程总结
(1)前三次作业中,第一次作业相对简单,主要是让我们熟悉Java编程语言的一些语法规则,以及简单的计算和循环。第二次作业和第三次作业难度较第一次有较大的提高,并且第二次作业和第三次作业之间有很大的联系,第三次作业中很大一部分代码都可以沿用第二次作业中的。第三次作业中后三题其实实现的功能都相同,但需要用不同的类设计来解决问题。
(2)在刚写第一次作业时我并没有体会到面向对象是一种怎样的编程方式,我认为还是和c语言一样是面对过程的,直到做了第二次尤其是第三次作业后,通过对同一个题目进行不同的类设计,我才对Java这种面对对象的设计语言有了一个比较深刻的理解。
(3)在作业过程中遇到问题时如果是一些语法规则类的问题我一般会通过百度来解决。如果是测试点过不去,我会结合给出的测试点对代码进行改正。如果是思路出了问题在自己百思不得其解后我会向同学请教这个问题,并且提出自己的观点与看法。
(4)这几次作业我所花的时间其实都差不多,第一次时间比较长的原因是不熟悉Java的语法规则,经常出错,第二次作业虽然难度比第一次有所提高但是鉴于自己已经比较熟悉Java的语法规则所以时间和第一次差不多,第三次难度比第一二次都大,但是因为第三次作业二三四题的题目是一样的,很大一部分代码都是可以沿用的,所以时间也没有延长。
(5)在这三次编程过程中我经常因为一个很小很小的错误导致几个测试点过不去,结果每次都要花费很长的时间来纠正,所以我认为再编程过程中严谨性是十分重要的。
二、设计心得
(1)面对对象侧重于团队合作,需要很多人完成的大量工作。面对过程适合于一个人的小量工作。面对对象更符合人们的做事方式。面对过程的性能高,面向对象易维护、易复用、易扩展。
(2)面对对象设计基本原则我认为更应该站在用户的角度去考虑问题,既然是面对对象,就应该站在用户的角度去考虑实际的问题。
(3)对于面对对象设计思维我认为他更注重的是解决问题本身,而不是着眼于各个过程。比如设计一个五子棋类游戏,就应该从设计黑白双方模块,棋盘模块,规则模块这三个模块出发,而不是各个过程的设计,这样更利于理解。
三、测试的理解与实践
(1)测试对我们的代码能否正常的运行,是否会出现bug有很大的帮助,他能尽早的发现你代码中存在的问题,以免在以后的运行实践中出现大的漏洞。同时如果测试还能反映出一个代码的性能,在两个代码实现的功能都相同时,运行时间短的代码效率显然更高,测试会让你的程序变的健壮。
(2)假如我设计测试用例,我会分四个部分,第一个部分就是正常值测试,这是一个程序能否正常运行的基本条件,第二个部分是极小值的测试,第三个部分是极大值的测试,最后一个部分就是非法数值的测试,这样可以充分考验程序的健壮性。
四、课程收获
通过前四周对Java的学习,我充分的体会到了面向对象的程序设计和面对过程的程序设计的不同,以及面对对象语言的优势,初步掌握了面向对象的编程思想,了解了单一职责,对象,类,属性,方法,封装,继承有了比较深刻的理解。同时在做作业的过程中我也学到编程的严谨性对程序员的重要性。并且这段时间上网课的经历告诉我必须要有自学能力,同时要有自控力才能学好一门课程。
五、对课程的建议
我希望老师在以后的上课过程中能以更多的实际问题为例子来讲述知识,同时我觉得上网课有一点让我很难受,比如老师讲到一个知识点我突然断网了没听见,我只能等下课后等回放再来了解那个知识点。
六、之后一阶段的学习计划
通过前一段时间的学习我认为光靠听老师讲课学好Java是远远不够的,必须得学会自学,所以我打算在接下来的时间里做到课前预习老师要讲的内容课后另外找资料习题来巩固老师讲的知识点,努力尽可能学到更多的知识。