RegretTo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、前言:针对前几次作业,大方向上是让我们从c语言中的面向过程思想转换到Java语言的OO思想,

第一次作业主要就是面向过程的求解方式,需要通过方程来求个人所得税,数字出现次数等

第二次作业就开始慢慢向面向对象思想转变了,包括算法、调用都使用面向对象的思想

第三次作业就是面向对象实例化,将之前的面向对象的思想具体化

二、作业过程总结

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

第一次作业其实主要还是一些基础性的c语言知识,但是我第四小题扣了3分,原因是对非法字符的检测没有到位,没有检测字符串的输入合法性,但第一次作业整体还是一些基础算法分析,而第二次作业开始出现面向对象思想,第三题则是面向对象的具体化了,通过创建一个具体的类来创建一个具体的对象,比如QuadraticEquation类、year类等,而创建具体对象的目的是什么呢?

首先我们要了解面向过程与面向对象的区别是什么,面向过程重点是在分析问题的时候将问题分解为一个个小步骤,再通过函数实现这些小步骤,最后调用该函数完成整个题目的求解;而面向对象则是将问题分解为各个解决问题的对象,比如上课这件事需要的对象有老师和学生,那么老师的职责是传授知识,而学生的职责是吸收知识,这样各司其职的面向对象思想可以使问题得到高效化的处理。同时贴近生活常识的对象也更好理解,使整个程序变得更简便。
②如何通过作业逐步从面向过程过渡到面向对象;

从面向过程过渡到面向对象并不是短时间可以转变过来的,需要大量的积累以及实践。而转变的重点就是明白面向对象的优势在哪里,我们对面向对象程序设计的定义是"面向对象程序设计是一种方法,这种方法为数据和函数提供共同的独立内存空间,这些数据和函数可以作为模板以便在需要时创建类似模块的拷贝。这样的程序设计方法称为面向对象程序设计。" 比如前面所说的便于理解的对象是问题简单化,通常,在面向对象的程序设计风格中,你会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。同时,你会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。当你定义了一个对象,你就隐含的创建了一个新的数据类型。 使用面向对象也会使工程易于维护、扩展以及复用,但其缺点是性能相对面向过程要低。
③作业过程中遇到的问题及解决方法

作业中对于细节的要求还是要比较严谨的,经常一些基础小错误会影响整个测试结果,然后就是一些算法准确度及复杂度,比如第三次作业求日期问题用对象数组就显得更简便一些。而对于一些数据上的错误通过debug可以找出问题的所在点,有针对性的找问题可以快速解决错误。算法上如果遇到没有头绪的会找学的好的同学了解思路。
④每次作业花费的时间比例

因为基础没有打好,所以对问题的分析、类的设计以及算法的分析会花费很多的时间,但比重最大的还是要属功能完善、测试及debug,往往会因为一个隐藏错误而调试很久。
⑤对编程过程的严谨性的认识及教训

编程的严谨性真的是非常非常重要,包括命名、对边界值的设定、算法的正确性、合理性、复用性等等,一个好的程序必定需要细心的分析和检查,同时耐心也是必不可少的,所以在保证质量的前提下再追求速度才是正确的做法。

三、OO设计心得
其实自己的理解在上文已经有所说明,面向对象设计偏向于数据的使用,通过对象的特性设计数据结构,通过方法实现对象的具体行为,对象与对象之间可以通过方法进行联系,同时面向对象的复用性更好,可以很轻易的添加新的数据和方法以实现新的要求。

 

四、测试的理解与实践

顾名思义,测试也可以划分为检测和调试,通过检测找出程序的问题,在通过调试解决问题。编程从来不会一蹴而就,往往在编程结束后会出现一系列的问题,我们称之为bug,所以也就有了debug这个功能。而每一个程序都是需要进行debug的,因为人并不是机器,并不是程序化的进行行为操作,所以出现错误在所难免,哪怕最简单的程序也是有出错的可能性。而测试就是为了解决这个问题而提出的,而职业岗位中也有专门为测试而生的职业。而在现在形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,测试则成为程序可靠性、正确性、完整性的保证。测试也是一个及其复杂的工作,需要有很全面的思维模式。

五、课程收获

相对来讲,前几次作业可能要简单一些,对于基础薄弱的同学可能会友好很多,从简单的程序入手可以提高对面对对象的融入性,也能更加了解OO的优势,也更能提起我的兴趣,对于OO编程的想法也更多了写,当然编程需要的还是日积月累,代码量还是尤为重要的一个指标,多编程会让我学习进步加快,提升思维、熟练度等多方面能力,日后成为一个好的程序员。

六、对课程的建议

作业的过渡期布置的很棒,同时提升的还有思维的转变,实践出真知,多实践才能多提升。

posted on 2020-04-19 13:08  RegretTo  阅读(110)  评论(0)    收藏  举报