OO第一作业周期(前四周)总结
作业总结(一)
0.前言
通过写三周的实验题,让我对java这一门课有了初步的了解。也因为之前学的C语言基础,使得入门也不困难。不得不说实验题是对一门语言入门掌握其语法成效最快的一类题,从C入门到了Java。本次主要总结1.作业过程2.OO设计心得3.测试的理解与实践4.课程收获5.对课程的建议。
1.作业过程总结
①知识迭代关系:3次作业从易到难,带我们逐渐适应思维的转变。逐渐从面向过程转变为面向对象程序设计。首先是java环境的搭建,然后是java类结构和main函数。
②如何通过作业逐步从面向过程过渡到面向对象:从C语言带过来的习惯慢慢转变,从第一次与C语言相同的写法到第二次了解java的语句,再到第三次作业中真正使用类的概念,题目的类型正在逐渐引导我们建立类的概念,而不是所有代码都写在一个主函数当中,通过类的设计思想,试我们的代码看上去更简洁有效,并且在今后可以单独使用和修改。
③遇到的问题:
1.程序容易出错,但好在错误处会有相应的提示,找出错误的地方并及时修改。
2.代码有的很复杂。比如日期类设计时针对每个月不同的情况计算前N天后N天要列出很长一段代码,容易出错。
3.在使用不同类的时候不小心把class放在了main函数中,报错时一时找不出错误。
4.在设计不同日期类时遇到了问题。
④每次作业花费的时间比例:第一次作业花费的时间大概是1个小时左右,题目是由易到难的,分别分配了大概十分钟20分钟半个小时回忆起程序设计的方法。第二次作业,设计日期类,第一题还比较简单,日期类,第二题设计了一下午得出了第二题的正确方法,后面两题就是依次类推。第三次作业也是后面的大题分别设计两种类占的时间比较多,占了几天。
⑤对编程过程的严谨性的认识和教训:Java编程是严谨的,且比C语言好用,一些编译和语法上的错误在平时写代码的时候往往不能够被轻易发现,但是java编译器就给出提示。除此之外懂得了使用debug,很多很难找到算法错误,使用debug去寻找会容易得多。
2.OO设计心得
①面向过程与面向对象的比较:
(1)从设计思路来看:
面向过程:程序设计的重点是分析解决问题的步骤,以及完成步骤的流程,是一种结构化自上而下的程序设计方法。面向对象:程序设计的重点是把构成问题的事物分解成对象,从局部着手,通过迭代的方式逐步构建出整个程序,是一种以数据为核心,以类设计为主的自下而上的程序设计方法。
(2)从适用范围来看:
面向过程:由于不涉及实例化对象等操作,程序性能更高,开销更少,因此像切入式等对资源要求较高的系统大多都采用面向过程开发。面向对象:由于其抽象、封装、继承、多态的特性,使得系统具有更好的扩展性、维护性、复用性,对于功能复杂且维护成本较高的系统采用面向对象的开发。
(3)从代码复用来看:
二者都可以实现代码复用,但是面向过程主要是函数,而面向对象主要是类。
②面向对象设计的基本原则理解:首先,应该优先选用能够最完善、最准确地表达问题域语义的面向对象语言。类的实现是核心问题,所有的数据都被封装在类的实例中,所以类是关键。实现一个系统是一个比用过程性方法更简单、更简短的过程。
③OO编程思维的理解
OO编程主要是将设计尽量与现实世界的事物一致化。类和对象是其中最基本的两个概念。在设计时,先找到要处理的各个对象,再找到各个对象共同点祖先,逐层抽象,最后确立各个类之间的继承关系
3.测试的理解与实践
①测试对于编码质量的重要性
测试是判断编码质量的一个重要手段,通过测试,可以初步确认代码实现功能的正确与否,并且还能提示出错的地方,让我们加以修改,提高了代码的质量。
②假如让你设计测试用例,你会如何做
分别设计异常和正常输入的测试点,再在正常的范围内设计不同类型的测试点。
4.课程收获
总结这四周来在OO方面的教训及收获:
通过这4周以来的练习,理解了面向对象的概念。我们正在逐渐建立类的概念,而不是所有代码都写在一个主函数当中,通过类的设计思想,我们的代码看上去更简洁有效,并且在今后可以单独使用和修改。在学习使用的过程中,也存在一些问题而运行出错,这也告诉我们要在课余时间多自学视频中的内容,这样才能基本掌握设计的方法。
5.对课程的建议
希望老师能在课堂中讲解更多的方面,留在课后的知识点能减少些,多举例子,更好地一同学习。

浙公网安备 33010602011771号