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

 

  1. 前言

本次博客主要说明在学习面向对象课程中的一些问题和感悟。

  1. 作业过程总结

①    三次作业之间的知识迭代关系

就第一、二次作业来说,我个人感觉是让我更加熟悉了java中的一些基本知识,第三次作业就开始由面向过程转向面向对象。由第二次作业和第三次作业的对比可以明显看出来,第二次作业中的时间类问题还是用的面向过程思想,一步一步的走。而第三次作业里类似的问题有运用到面向对象的思维。

②    如何逐步从面向过程过渡到面向对象

第二次作业到第三次作业就是由面向过程过渡到面向对象,写第三次作业的过程中可以明显感到面向过程的思维在逐步形成,如第三次作业中的二、三、四题先是把时间抽象化为一个类,里面包括很多方法和属性。然后再细化为四个类,就像一个公司的不同部门,各司其职。

③    作业过程中遇到的问题及解决方法

作业过程中遇到的最大的问题之一是pta的测试点无法通过,又不知道具体的原因,通常我会与同学交流询问他们是否遇到过这样的问题。比如里面有的地方我写if(a>12){…}这样的语句提交就会出现测试点错误,但如果我改成if(a-12>0)就可以通过测试点。还有问题就是我写代码时总是会忘记语法规则,我就会改变我的写题顺序,先去看一遍上课时记的笔记以及书本上的相关知识点,而不是写到哪不会了再去翻。还有诸如溢出等问题,都可以通过测试点的提示或者问同学解决。

④    每次作业花费的时间比例

第一次作业中由于第一题的题目算式比较复杂,我花费了较多的时间编写。二、三、五题相对来说比较简单,花费时间也较少。第四题因为使用判断语句的顺序问题,导致某个测试点总是错误,修改也耗费了一定的时间。第一次作业花费时间的比例大概是2:1:1:1.2:1。

第二次作业中第一题比较简单,第二题涉及到时间还有输入合法性,有很多要考虑的因素,所以在这些地方也耗费了一些时间,第三、四题有第二题的铺垫在这方面的时间花费的较少,更多的是写题目本身的主要需求。所以第二次作业花费时间的比例大约是2:3.5:3:3。

第三次作业其实和第二次作业有相似的地方,所以写起来会更加轻松,因为对类的使用不是很熟悉一开始也花费了一些时间在一些细节上。做完一、二题对类的有关方法掌握的相对更加全面之后写第三、四题也就更加方便。所以第三次作业花费的时间比例大概是4:3:2:2;

⑤    对编程过程的逻辑严谨性的认识及教训

编程过程中逻辑的严谨是最容易让人忽视也是最容易出错的地方,就如写作业时,这种错误在编译器中编译运行时可能不会出现,但是在pta平台的检测就会一下原形毕露。而且它十分难寻,如果是很复杂冗长的代码,可能写的时候没有花费太多的时间,但是在后续寻找错误会耗费大量的时间和精力。所以在编写代码过程中要做好注释,也不能一味的依赖编译来查错,而是要做到自身逻辑清晰、严谨,这样才能避免写出各种bug。

2.OO设计心得

①面向过程与面向对象的比较

面向过程就是要设计出每一步要走的路线,然后再按部就班,一步步解决问题,就像流水线。面向对象将事物都看成对象,通过对类与对象的继承,封装,多态的实现从而解决问题。

②面向对象设计的基本原则理解

单一原则:一个类只做好一件事,只有一个引起它的变化。

开放封闭原则:是可扩展而不可修改的。

替换原则:子类必须能够替换基类。

依赖注入原则:要依赖抽象而不是具体现实,在开发中尽量的面向接口编程。

接口分离原则:一个接口不需要提供太多的行为。

③OO编程思维的理解

OO设计主要是将现实抽象化,类和对象是OO编程中最重要的两个基本元素,在编程时,先找到要处理的对象,再找到各个对象的共同祖先,逐层抽象,最后确定各个类之间的继承关系。

3.测试的理解与实践

①测试对于编码质量的重要性

因为代码的每次提交都会出现错误,所以测试对于代码的质量是有非常积极的作用的。

②假如让你设计测试用例,你会如何做

我会根据用例的角度和用例的场景来设计,先设计一个大体的框架,再设计细节。

4.课程收获

通过这门课,我了解并逐渐开始形成面向对象的思想,相信继续钻研探索可以对面向对象编程有更好的掌握。

5.对课程的建议

 可以多增加一些实例,便于理解。

posted on 2020-04-04 15:21  karelu  阅读(63)  评论(0)    收藏  举报

导航