Java面向过程到面向对象
0.前言:
在接触Java后,第一周的作业相对来说比较简单,因为涉及的知识点不多,并且与C语言有相关的之处。在一部分上,题目的算法和之前C语言写过的题目是一样的,所以较快的完成。第二周的作业,在内容上加深了不少,算法的复杂程度上也加深了许多,而且网上教学,与同学的交流很大程度上的减少,在将自己的想法转换成代码的过程中有些坎坷。最近一次作业的UML图,以模块的形式,将我们所写的代码划分,能较好的理解。但由于第二次作业中有些地方没有理解,便在第三周的作业上遗留了些许问题。这三次作业中,学会了一些,同时发现了Java与C语言的差别。
- 作业过程总结:
①总结三次作业之间的知识迭代关系:
第一次作业是我们刚接触Java时完成的,我觉得在重点上是让我们知道如何在Java中进行输入和输出,以及处理一些很简单的编写错误和语法错误。在这基础上,进行流程控制语句的熟悉,为第二次作业能更好的使用打下基础(在假期后重新熟悉一些语法的使用)。第二次作业要求我们知道如何去调用方法和使用数组进行数据的存取,在第二次作业中,不难发现,渐渐的有了将题目进行模块化的影子。第三次作业则在第一次和第二次作业进一步的加深(尤其是第二次),通过UML图来将题目中可能使用的方法列出来,很好的为我们分析问题,处理问题提供了条件。
②从面向过程过渡到面向对象:
第一次作业中更多的还是面向过程,因为需要一个从C语言过渡的阶段。第二次作业通过掌握构造类,对象,方法和使用之间的关系。第三次作业使用到了UML图,要了解各项要求,在前面的构造类的基础上,渐渐向面向对象靠近。
③作业过程中遇到的问题及解决方法:
在完成第一次作业中税率的过程中,没有理解到老师数据的要求,在前几次的结果中,与老师给出的结果差之毫厘,在得分上便失之千里。在分析eclipse得出的数据和老师给出的数据后,改动了代码中的数据。虽然没有得到满分,但还是满足了。
第二次作业中,不知道如何去构造类和调用方法,在CSDN中查找资料渐渐明白调用方法。同时,在算法上有逻辑错误,在同学的帮助下才得已完成。
第三次作业中,没有很好理解UML图给出的步骤,结果编写的代码很混乱,出现语法错误。在自己调整情绪后,平复心情,找出错误并且改正。
④每次作业花费的时间比例:
理解和分析题目:5%;
编写程序:75%;
调试程序:20%;
⑤对编程过程的逻辑严谨性的认识及教训:
通过三次作业的反馈,我认识到了在编程过程中的逻辑严谨性是是十分重要的,因为一个程序的逻辑上出现错误后,就算写好没有其他的错误,这个程序就没有达到我们预期的结果了。同时可以给我们减少错误的发生,节约时间。
- OO设计心得:
①面向过程与面向对象的比较:
面向过程在开发的软件性能比面向对象好,能节约程序运行的时间和开发程序的成本;但面向对象开发的软件比面向过程易维护,易扩展。
②面向对象设计的基本原则理解:
单一功能原则:一个对象只有一个功能,类容易被修改
依赖反转原则:接口不依赖具体实现,依赖抽象接口
里氏替换原则:子类型必须能够替换父类型
开闭原则:一个软件的扩展
迪特米法则:强调了类之间的耦合性,类的耦合越弱,性能越好
③OO编程思维的理解:
将对象抽象成类,把对象的特性变成类的属性,把对象完成的事变成方法。这样的操作有利与后期对软件的维护同时保护软件的安全性
- 测试的理解与实践:
①测试对于编码质量的重要性:
测试过程无疑对软件的开发是很重要的,在开发过程中,又很多潜在的问题,在测试过程中能很好的被发现,修改程序,提高软件的质量
②假如让你设计测试用例,你会如何做
选择多个随机数据进行测试,同时又选择俩个最值(最大值,最小值)
- 课程收获:
总结这四周来在OO方面的教训及收获
收获:学会构造类和调用方法,慢慢从面向过程到面向对象之间的转变;
教训:同时也发现自己的不足,如思考问题简单化,没有深入挖掘问题本质。
- 对课程的建议:
我觉得老师应该给我们看更多的代码和思考问题的思路,在完成一次作业后,能对题目进行一定的讲解。

浙公网安备 33010602011771号