第一作业周期(前四周)总结

0.前言

  应老师要求,开通博客,对前四周的学习内容进行一次总结。

1.作业过程总结

  ①总结三次作业之间的知识迭代关系:前三次的作业之间的迭代关系是有的,第一次的作业主要是入门级别的Java代码编写,在掌握了一些基础的Java输入输出后,可以利用大部分的C语言知识进行程序编写,问题不会太大;第二次作业则需要更为进一步的Java理论知识后才能完成代码的编写,最主要的一部分是掌握了类这样一个在Java中的属性,但主体与第一次作业没有太大的区别;第三次作业则是给出了主函数,和相关的类要我们去填写类里面的具体程序,此次作业较为复杂,但是当你掌握了类与类之间的关系后,可以利用前两次作业积累下来的经验来完成,同时这次作业也为我们更进一步的学习面向对象打下良好的基础。

  ②如何通过作业逐步从面向过程过渡到面向对象:这三次作业有着一次次递进的关系,这种关系就是由面向过程到面向对象的过度。第一次的作业其实在我们学习C语言的时候就做过相类似的题目,这次的Java编程其实大体上与C语言没什么区别,是面向对象的,是Java中最为基础的;到了第二次作业就有点面向对象的意思了,其实这些题目我在学习C语言的时候就有触及,我所写的代码核心与C语言也没有太多的差异,题目中要求我们所使用的Main类中必须有的方法其实就是面向对象到面向过程的衔接;第三次作业则更好的诠释了面向对象是怎么一回事,题目中给出的设计类图很好地表明了类与方法相互影响这一关系,一个问题用两种不同的方法来解就是由面向过程到面向对象,方法之间互相影响的关系让人印象深刻。

  ③作业过程中遇到的问题及解决方法:随着作业难度的加大,遇到的问题也有小变大。第一次作业中遇到的是一些小问题,比如在计算税率这一题中我傻乎乎的算出每个阶段应该交的钱再加上多出来的部分,但是这样的结果总是出错,所以我只好将代码换成一些公式这样才不会出错。在判断三角形类型是总是不能判断出等腰直角三角形,在询问了同学之后知道运用(a==b&&a*a+b*b-c*c<0.001&&a*a+b*b-c*c>-0.001)||(a==c&&a*a+c*c-b*b<0.001&&a*a+c*c-b*b>-0.001)||(c==b&&b*b+b*b-a*a<0.001&&b*b+b*b-a*a>-0.001)来判断;在第二次作业中,经常遇到的问题就是边界错误,当我输入2020 12 31后显示Wrong Format,正确的答案应该输出Next date is:2021-1-1,为解决这一问题我花费好长的时间去修改我的代码,最终只好将这一情况作为特殊的例子进行处理。在求前N天这一题中,我对平年2月29日总是错误测试,后来我也只好将这一一天单独拿出来;在第三次作业中,面对有点陌生的设计类图往往不能准确的明白这其中想要表达的意思,一系列的类和方法成为我是否成功编写成功的绊脚石,到了我写下这篇博客的一天也无法完成,但是通过不间断的学习我总会学会的。

  ④每次作业花费的时间比例:第一次作业每题花费的时间在一个小时左右;第二次作业总共花费了大概两天的时间;第三次作业花费的时间最久。

  ⑤对编程过程的严谨性的认识及教训:之前学习过的C语言我就对编程的严谨性有着深刻的认知,如今的Java更是让我对编程过程的严谨性有了更新一步的认知。在编程的过程中,经常会犯一些在语法上的小错误,在看似正确的情况下却得不出想要的答案,就是这样的一些小错误却要花费大量的时间来查找,这样的时间往往比编写程序的时间都要长,这无疑是浪费时间的,加入我们在编写程序的时候想得更为完整,思考的更为精密,或许就不会出现这样的问题,随着我们知识的掌握,这种问题会越来越少。

2.OO设计心得

  ①面向过程与面向对象的比较:面向过程的优点为性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点是没有面向对象易维护、易复用、易扩展;面向对象的优点是易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。缺点是性能比面向过程低。

  ②面向对象设计的基本原则:单一职责原则、开放封闭原则、Liskov替换原则、依赖倒置原则、接口隔离原则。:

  ③OO编程思维的理解:面向对象将事物都看成对象,将具有相同特征的实物看作类。通过对类与对象的继承,封装,多态的实现,完成模拟现实从而决绝问题。

3.测试的理解与实践

  ①测试对于编码质量的重要性:一个好的编码必须要经过不断的测试才能够使用,假如一个编码经不起多次的测试,纯在诸多的bug,这必然是一个不合格的代码,这种编码是不能用在系统上的,这会引起诸多的问题。

  ②假如让你设计测试用例,你会如何做:选择一些较为特殊的例子进行测试和用一些例子反复测试多变。

4.课程收获

  明白了面向对象与面向过程的一些本质的区别,对面向对象有了一些基本的了解,会使用简单的Java语言去解决一些相对简单的问题。要认真的对待每一次作业,思考老师上课讲的主要问题,及时完成课堂上老师留下来的课堂作业。

5.对课程的建议

  没有太多的建议,一切良好,自己需要不断努力。

 

posted @ 2020-04-04 15:59  SOBER-wang  阅读(135)  评论(0)    收藏  举报