OOP第一单元作业总结

0.前言
本次博客是关于PTA上作业总结的,这三次作业难道明显递增,
且第三次作业难度比前两次高了很多,所以想要在此总结。

1.作业过程总结
①:第一次作业大多数对Java的基本语法的一些使用,本且收悉,难度虽然不大,但关于数据的要求比较严格.第二次作业在第一次作业的基础上追加了一个新概念——方法,方法内还是由无数基础语法构成。关于第三次作业的话有引入了一个新概念——对象。oop就是面向对象编程。在进行第三次作业也就是初步开始面向对象编程时,难度还是很大的。对语法基础以及方法的使用 调用,以及数据域把握要求很严格。

②:在上课期间老师讲到的uml图,这是面向对象编程必不可少的,他能使我们思路更加清晰。所以在写作业过程中我们要养成多画uml图的习惯。同时,在写作业的过程中要逐渐的理解对象的真正含义,以及了解对象在一次编程过程中的地位以及作用。

③:在第一次作业中那个判断三角形类型的题目其实困惑了挺久的,但是后来分析原因,研究别人的贴子时发现可能是精度的问题,将精度提高后问题得以解决。在第二次作业中莫名其妙出现答案不正确的问题,也不知道问题出在哪,只能用eclipse中的debug一步步进行测试,找到有逻辑错误的那个部分进行修改。而第三次作业就有很大的问题了,在第三次作业中题目对代码运行时间有要求,所以就导致程序运行超时,在修改算法后问题得到解决。第三次作业中的对象使用经常出错,在各大学习平台加强对对象的学习使用后,第2题所有测试点完美通过。由于第二题测试点通过,所以在第三,四题的时候对象方面的问题不是很大,对uml图的使用不是很收悉,以及第4题聚合的问题也有,但是通过学习后问题也得到解决。

④:在第一次作业中一共花了大概3。5个小时左右,其中判断三角形类型的那题花了两个小时。第二次作业中一共花了大概8个小时,除第一题半个小时解决之外,别的题目花的时间比较平均,都在一个半小时左右。第三次作业大概写了4天,除去学习的1天,第一题大概半个小时解决,第二题花的时间最长,大概是总时间的一半,第4题由于有第三题在,只花了20几分钟就解决了。

⑤:对编程过程的逻辑严谨性的认识及教训。首先是认识,我认识到逻辑问题是非常非常重要,同时也是非常非常难处理的问题。因为逻辑问题通常无法直接看出,而且逻辑错误的代码通常情况下也可以正常运行。所以只能靠debug来逐步调试。所以逻辑的严谨性非常非常重要。再是关于教训,教训就是让我在简单的问题上浪费很多时间,但是也让我更加收悉的使用debug,众所周知,debug是程序员必备的一项技能。
2.OO设计心得

①:用面向过程来解决问题时,我们通常是一步步来解决的,例如把大象放进冰箱,第一步是打开冰箱门,第二步是将大象放进冰箱,第三步是关上冰箱门。我们明显发现,用面向过程解决问题的话我们要先知道解决问题的方法,再将解决问题的方法分成很多个步骤,再用函数来实现这些步骤。而用面向对象的思维来解决把大象放进冰箱这个问题的话,我们要定义大象 和冰箱这两个对象,大象这个对象内有一个方法为进入冰箱,而冰箱这个对象内有开冰箱门,关冰箱门这两个方法。同样我们可以明显发现,在用面向对象来解决问题时,我们通常要先找到解决这个问题的对象,以及明确每个对象所要做的任务就行了。面向对象和面向过程没有谁有谁劣,我们需要在解决不同问题的时候采用不同的思路来解决问题。

②:我对面向对象设计的理解就是首先要明确每个对象的职责所在,要围绕单一功能原则为基础。在这一基础的前提下,还要考虑给某个对象添加新职责的功能。

③:我对OO编程思维的理解就是,在解决一个问题时一定要分工明确,不要出现对象之间有职责重叠的情况。而且要明确对象的使用方法。
3.测试的理解与实践

①:测试对代码质量而言非常重要,无论是从代码的运行时间来测试或者是从代码的运行所需空间来测试,通常情况下,一段高质量的代码对空间,时间的利用率都比低质量的代码高,这种差距会随着数据变大而越来越明显。同时测试还是使代码尽可能的减少bug的出现,例如在特殊情况时的数据

②:在空间方面做测试,同时还在时间方面做测试,以及特殊情况下的测试。
4.课程收获

在oo方面得到的教训是不能再用过程思维来解决问题,以及要理解对象还是有一些难度的。收获就是又理解了一种新的解决问题的方式,不在只是局限于过程的思维。这让我有很大的启发。
5.对课程的建议

希望可以多用实例来代替理论。

posted @ 2020-04-04 20:51  zjjjjjjja  阅读(73)  评论(0)    收藏  举报