总结
最近的3次作业让我感受到了面向对象与面向过程的区别,总的来说有一定的难度。java与c相比功能更加强大,基本的语法差异较小。
面向对象的设计方法更多的是去定义一个类及方法通过方法的调用来实现命令。面向过程设计则是直接的在需要时直接的写出相应的代码,第一次作业及后两次作业的前几题更像是面向过程的方法难度逐渐增加,也更加偏向面向对象的思想。
让我们有一种循序渐进的过程。作业中主要出现的问题有数组越界问题及类的默认构造方法赋值出现空指针的问题。在作业中大部分的时间还是花费在调试测试点中,需要多练习来减少逻辑漏洞,一个地方的的小错误可能就需要后期的大量调试及修改。
作业中出现测试点未通过主要还是靠自己检查代码,对ecslipse的debug还不是特别熟悉,有时候感觉自己检查速度更快,对多断点调试不熟练。
设计心得
面向过程设计主要注重于过程,当需要实现一个功能时每一个步骤基本上都需要我们自己去写代码来实现,去处理大多数的细节及问题主要强调的是步骤;而面向对象设计实现一个功能时更多的是寻找一个具有我们所需要功能的方法来直接实现,来帮助我们直接解决相应问题,主要强调的是对象的概念。
面向对象思维是一种更加符合我们大多数人习惯的一种思维,直接去寻找一种工具来解决当前的问题,使问题更加简单化,更好实现,代码的重用性更高了,对于一个软件的更新更加方便安全,更新不需要再完全修改,只需要再原有基础上进行扩展。
面向对象设计应遵循单一职责原则:每个类负责一个领域的相应职责,每个类可以有多个方法,每个方法也只负责一个功能,类似于第三次作业中的Day Month Year类这三个类分别负责对日 月 年的操作及修改其中有复位到(1)和复位至最大及加一减一等操作;
在DateUtil及main 方法中我们就只需要在需要是调用相应的方法而无需再需要的时候重新写一边实现过程。面向对象还有开闭原则、里氏代换原则等等,目前还没有接触相关问题。
oo编程思维最主要的就是对类和方法的抽象及封装。在设计时要先找到需要处理的对象然后通过继承及组合来最终实现。同时对类中各个成员的定义要设置好是private或是public等,从而达到封装,应尽量不更改只扩展。
测试对编码质量十分重要,如果编码完就直接上市运行将可能出现大量的漏洞,不仅可能会对公司及用户产生巨大的损失,并且为了修复漏洞而提高的维修成本及增加的维护时间也是十分严重的问题
对课程的建议
老师上课能多举一下实例,对于重要的知识点能讲解详细一些。
浙公网安备 33010602011771号