OO第一单元总结作业

前言:

首先,这次博客主要自己的作业情况

1.作业总结过程 

(1)作业中知识迭代关系

我认为第一次作业难度系数不大,它主要是帮助我们从C语言走向Java的一个过程,不一样的就是要改变一些语法之类的东西。学会Java基础语法的运用例如,输入输出等。而第二次作业我认为参考价值很大,因为它的每道题目之间都有着迭代的关系。例如,第二次作业的第二题是判断闰年及星期几和第三题求下一天和第四题求前n天,这三题有着很大的相似之处,完全是从易到难的过程,一步步加深自己的思想和思路。其中的第三题和第四题最为突出,感觉差不多,但是难度又不一样思路还是一样但要加深想法。而从这次开始完全和C语言不一样了。这里面用的是类,而C语言用的是函数。而第三次作业这个完全和C语言不一样了,这里要用方法和类,例如getter和setter方法,而这里的第一题感觉没有什么难度但是第二题和第三题和第四题难度都非常大,这个完全是迭代的思想了,题目几乎一模一样但难度越来越大,而通过题目你了解的知识也越来越多,这大概是一种进步吧!

(2)作业逐步从面向过程过渡到面向对象

首先,第一次作业是通过Scanner输入输出的,运用了if-else、switch-case等,还有大量的基础语法如循环结构。而第二次作业则是通过一个主函数搞定的方法和属性都是放在主函数里面的这应该是面向过程的编程思路写的,而第三次作业就不一样了,它要构造类和属性和方法的方式写的。如一开始时候第二题是调用一个类到第三题调用多个类且是类调用类在到第四题就没有第三题那么难了,我想这大概是面向对象思想吧!现在我对这个的理解还是比较浅。

(3)作业中遇到的问题和解决

其实,在做这些作业过程遇到过很多问题,有的是语法问题这个是通过询问他人和查资料解决的,有的是格式问题这个是通过慢慢修改程序搞定的,有的是PTA中的运行超时问题是通过询问老师后慢慢优化程序搞定的,还有的是算法问题这个是一步步测试出来。

(4)每次完成作业的时间

而这三次的作业我花费的时间随着题目难度的提升而增加。第一次作业做了一天,第二次做了二天半左右,而第三次几乎是做了一个星期了。三次作业花费时间比例:  1 : 2 : 4。

(5)对于编程过程中的逻辑严谨性的认识和教训

对于这三次在PTA上的作业,我充分认识到了我自己程序的不足和逻辑思路的不严谨,因为这PTA上有测试点的,有很多时候写的程序得不到满分就是有些测试点没有过关我认为在考虑事情方面还是要严谨。教训就是编写程序要严谨,不能浮躁,写程序要静心和用心。

2.OO设计心得

(1)面向过程和面向对象的比较

对于面向过程而言,它的思想是把一个项目,一个游戏按照一定的顺序,从头到尾一步步的做下去,先做什么后做什么,这种思想比较简单的思路。而对于面向对象而言,它是把一个项目,一件事分成更小的项目,并且每一部分它们又负责什么的功能,最后在由这些部分组成一个整体,PTA上的第三次作业的第四题就是这样的。这样的方法多用于复杂问题。例如,上课讲的雨刷问题,把它分成几个类来解决,使用单一变量原则,一个类做一件事,最后组合一下完成。

(2)面向对象过程的基本原则

设计的核心是对象,使用现实世界的抽象概念思考问题。

现阶段我只了解单一变量原则。

设计原则:1、单一变量原则是一个类负责一件事,优点是避免相同的职责分散到不同的类中和避免一个类承担太多的职责,这个还可以减少类之间的耦合和提高类的复用性。

2、 里斯替换原则 3、 依赖倒置原则  4、 接口隔离原则 5、 迪米特原则  6 、开闭原则等原理

(3)OO编程思维理解

拿雨刷的例子来说:面向过程是一步步实现的,输入1是什么情况应该执行什么,输入2又是执行什么等,一步步用函数实现。而通过面向对象可以把这件事分成多个类来实现,一个类做一件事,然后进行类的调用来实现。

3.测试的理解与实践

(1)测试对编码质量的重要性

测试对代码的可行性和优化有着重要作用,它能帮助你及时发现问题,和对你如何解决问题有重大的作用。

(2)假如让我设计测试用例:

例如:判断年,月,日的上下n天来说,我会对闰年平年的二月份测试,测试二月份前n天和后n天,还有测试数据的最大值和最小值还有12月31日和1月1日等数据的极限测试,还有输入的数据非法进行测试等。

4.课程收获

通过近四周的学习,让我对面向对象课程有了更深刻的理解。知道了基础很重要,同时要注意自己代码的格式和结构,还有就是代码要严谨和完整,不能全是bug。最重要的是做题要多思考,想问题也是这样。第一周学会了Java的基础语法Scanner输入输出等,第二周学会了数组、构建函数、Java中库函数的使用等,第三周学会了构造方法和类的调用等。但是最重要的是学到了自主学习,做事不要纸上谈兵要学会实践,还有就是每天都要练习,所谓百炼成钢。遇到问题要思考不要放弃,这样坚持下去总有一天会成为一名合格的编程人员。

5.对课程的建议

1、希望老师多讲一些例题

2、希望老师在作业做完后可以给出一个标准答案出来,让我们参考一下答案的解题思路和想法。

 

posted @ 2020-04-02 13:41  19201126-殷洪涛  阅读(130)  评论(0)    收藏  举报