OO第一单元(前四周)作业总结要求(第四次作业)

0:前言

本次博客主要针对第一周期Java的三次pta作业做一个阶段总结。

1:作业过程总结

1.这三次pta作业中,第一次涉及较为简单的排序,循环等方法,再到第二期更为复杂的数组合并,排序等,在这些问题的求解中需要运用更为复杂的算法,第三次作业主要强调设计类,突出面向对象思想,并加深对面向对象思想的理解。

2.在这三次作业中,前两次都不涉及类的涉及,只是让我们初步使用各种算法实现问题,第三次作业在需要用更为复杂的算法实现问题的基础上需要设计类来解决问题,类是Java特有的内容,主要就是提现面向对象思想,使得我们开始慢慢从面向过程转为面向对象。

3.在三次的作业中,正则表达式则是遇到的一大困难,在这之前没有学习正则表达式也没有用过,所以第一次写时的确不知道怎么下手,在用正则表达式时,多次用到CSDN等软件查阅正则表达式的资料,还有通过自己写代码验证等办法,终于是对正则表达式有了初步的掌握。第二则是在建立类的时候,对getter和setter方法的不熟悉,在不同方法的返回值里绕来绕去,对类这个整体的把控十分不熟练,没有理清各个部分直接的关系,类之间调用的关系总是不能很好实现,算法思路不清晰导致代码运行时间过长等。主要解决办法便是认真分析每个对象的关系,理清判断的临界值。类之间的调用通过查阅资料,自己理解分析并通过自己打代码实验而解决。

4.关于每次作业花费时间的比例,自然,每次作业都比之前难,所以花费的时间也越来越多,有的甚至几个小时都没解决一个类的构建。

5.关于编程,严谨性是最为需要的,有的往往一个小错误就可能导致整个算法都错误,而且代码也需要精简,不然在找bug时十分困难并耗费很多时间,在打代码前我们需要仔细构思代码的结构,期中各个类,各个属性的关系与判断,不能上手就直接写代码。应先对整体要求有一个系统认识,再分步进行大框架构建,类之间的调用,库函数的的使用以及最后代码的输入输出。

2:oo设计心得

1.关于面向过程与面向对象的比较。面向过程主要是看重解决问题的过程,而在解决问题基础上的每个对象只是机械地参与其中,并没有自己的特点,更像是机械地解决问题。而面向对象的思想中,参与解决问题的对象都有属于他们自己的属性,有private,public等私密与公开,这在面向过程中是不曾有过的。这极大提高了编程难度,但也提高了程序的稳定性和安全性

2.对于Java面向对象的基本原则,目前了解的有单一职责原则,即单一职责原则定义接口或类和职责的关系是一一对应的,就一个类而言,应该有且仅有一个引起它变化的原因。也就是说一个类应该只负责一件事情。好处便是降低代码的复杂度,代码的可读性提高。

3.关于oo编程思维,面向对象就是将事物都看成对象,将具有相同特征的实物看作类。通过对类与对象的继承,封装,多态的实现,完成模拟现实从而解决问题。

3:测试的理解与实践

1. 关于测试。每个代码在真正使用之前,都必定需要测试,因为再厉害的程序员也不能保证他的代码就一定没有bug,我们需要对代码的功能,性能等进行测试,充分了解代码的输出是否符合我们的预期。因为我们给别人的代码是产品,在这之前我们需要保证代码的质量,所以测试就显得尤为重要。

2.如果让我设计测试用例,我应该主要测试临界值,例如某些特殊值,非负值,最大值与最小值等测试。还应该设计一下错误用例,来关注程序在收到错误的输入时是否能给出合理的提示。

4.课程收获

通过这么长时间的Java学习,我最主要就是学习了面向对象思想的知识,初步了解了Java在解决问题时与C语言的不同,这对于一个程序员来说,了解不同的思想是必要的,这使得我们的逻辑性增强,同时能已更发散的思维了解解决问题的方法。同时学习了很多关于Java类设计,类图的理解,继承关系,单一职责等知识。

5:对课程建议

Java课程主要便是介绍面向对象思想,在有了C语言基础的学习上,应该多注重培养学生面向对象思想的构建,同时应该着重于Java特有内容的讲解与分析,希望老师能在作业结束之后讲解一下题目,因为有网上的知识大多还是不成体系的。

posted @ 2020-08-04 14:29  vegetablest  阅读(50)  评论(0)    收藏  举报