面向对象第一阶段作业总结

前言

  面对对象的第一阶段是一个过渡,该阶段的作业采取的是由面向过程的思维方式转向面向对象的思维方式,由于有着C语言的基础,因此,该阶段的作业情况完成的相对较好。

作业过程总结

  第一次作业到第三次作业是一个层层递进的关系,由第一次完全采用面向过程的思维方式,到第三次基本采用面向对象的思维方式。通过作业可以加深对面对过程的理解,在作业中对类与对象会有一个较清晰的认识。第一次的作业是我所熟悉的题目类型,因此,该次作业所用的时间相对较短;第二次作业就开始需要有所改变了,这些题目就了些许难度,所用的时间也较第一次多了一些;第三次作业也是该阶段最难的一次作业,所花的时间也是最多的。第一次作业,都是一些极为基础的问题以及编译的函数;在第二次作业中,在作业中学会了调用boolean函数,刚开始接触时,时而会忘了打出return false,后来慢慢就学会了;在编程过程中,将“if”,“else if”,“else”严格的的区分开来是极为重要的。

  在完成这些作业的过程中,我还是遇到了较多的问题的。在第一次作业中,输出一系列数的最大值,以及最大值的个数时,最大值个数的输出总是有误(错误代码如下),最后发现仅仅只需加入一个else

   

 

 

  例如在第三次作业中,输出某一事件的n天前或后,我简单的认为此时无需if(month==2),最后输出的结果总是不正确(下图所示的代码片段)。

 

  一个String类型的函数中,本应返回year-month-day类型,我直接return year-month-day,结果一直报错,最后得到了解决(如下图)

  除此之外,我无法将第二个时间参数输入至我的代码中,我认为我的anotherYear定义了,最后得知date的属性要用date.getYear(),得到我传的date类的属性,如下图定义

面对对象设计心得

  面向过程是分析出解决问题所需要的步骤,然后用函数一步步实现,依次调用解决问题;而面向对象是将构成问题的事分解成各个对象,描述事物在整个解决问题的步骤中的行为。就该阶段的学习和理解,面向对象设计的基本原则是只有一个类,其中可以有多个对象,而对象之间的关系是需要加以判断的。对面向对象编程思维的理解是将面向过程的思维方式摒弃 ,并且能正确的将问题中的对象提取出来,或画uml图将对象的关系理清。尤其是第三次作业,若能很好的区分出对象,则使代码的编译更为简单的。当然,不同的人对对象的分类是不同的,这都不会影响面向对象的编译。

测试的理解与实践

  在不知代码是否有错误时,测试显得尤为重要。对代码的测试有多种方法,可以设置断点,Debug,可以检测该段代码是否运行,能输出正确的结果,也可以使用junit判断该代码运行的结果是否与预期的结果相同。当我仅仅只想知道某一变量在某一时刻的函数值时,我会采取设置断点的方式,如下图所示:

课程收获

  在课程中,知道了部分原则,一个类多个对象,知道一些面向对象该有的规则和它内部具有的各种函数,工具。老师给出了最基础的例题讲解,可以得到跟深刻的理解,就比如在junit的学习,junit在我们的认知中是全新的点,在这样的讲解下,这个点的学习基本能被掌握。知道了函数的不同,是否返回是一个问题,返回什么也是一个掌握的知识点。例如void函数无需返回,boolean函数判断正误,String函数直接返回。亦知道了public和private对于函数定义有所不同。

对课程的建议

  可能就是在课程中老师给出的知识太基础了,有时候不能很好的与作业相连接,目前的情况,作业还能比较好的完成,可能慢慢的作业完成情况没那么好。所以我希望以后老师适时能够点拨一下习题,这或许更能加深对知识点的理解。

posted on 2020-04-05 20:30  bjty  阅读(142)  评论(0)    收藏  举报