就这四周作业总结情况

一、      前言:该板块主要是讲述这几次作业的情况

  这几次作业我们正式进入的老师口中的大作业,难度确实要比前面的几次基础作业要难,花费的时间和精力也多了,和同学讨论的次数也多了。解题技巧涉及到正则表达式,和多种类的关系。

二、      作业过程总结

1)这几次作业刚开始就给了我们下马威,从前面那几次作业获得的骄傲自满全都给浇灭了,水文数据的检测及校验,多项式的求导等等。这几次的作业有明显的一次作业继承上一次作业的迹象。反复出现了图形的继承。

 

 

 

  2)就我而言,我觉得我之前在b站上看到是视频上面说的很有道理。封装性:就像一个遥控器,经过包装成为一个独立的个体,让人使用起来很容易,而且也不易损坏。继承:继承的话更像一个家族的人有一个当家的,这个当家的拥有属性子女有权力去继承,也有权力不选择继承,自己去创建。多态:多态更像是两兄弟有都有个自的性格,但是每个人的性格是不一样的。

  3)在这几次作业中遇到的问题主要是算法设计问题,例如在水文数据检验中怎么设计正则表达式,怎么然他们每一个数据都分开等等,在多项式求导中怎么把一个式子分成几个多项式相加,还有测试数据的设计,这些问题有的是通过和同学讨论,有的是自己用死方法解决的。就比如那个水文数据检验的时间检验,没有用到类图中给的LocaDateTime来判断时间是否合法。

  4)第一次作业在水文数据检验上花费时间最长,第二次作业比较简单花费的时间较第一次来说比较短,但是多项式求导哪一题花费的时间也不少,第三次作业在这三次作业中最为简单,花费时间也是最短的。假如这三次作业花费的时间总是10。那么这三次作业的时间比为5:3:2。

 


5)在程序设计中,严谨性都是一个程序员必不可少的特点,在一次程序设计中严谨性更是编程时必不可少的要求,在这几次作业中,我觉得我在知道思路之后的编程中遇到的最大问题就是粗心大意,就比如说在下面这次作业中

我在eclips中编程喜欢加上提示输入语句,这次提交过程上忘了删掉,导致在这上面花费了太多的时间在没必要的地方上。

三、设计心得

        1)对面向对象三大技术特性之间关系的理解:

 面向对象的三大技术特性分别是封装,继承和多态。就我的理解来说,封装就是把一个抽象的事物变成一个具体的实例或者是形成了一个类。继承则相当于是子女继承父母的特点,父母当中有的属性或者方法,子女可以不用重新定义而之间使用它。多态就相当于是人的性格一样,每个人都有自己的性格,但是每个人的性格都不一样,在Java中就体现为,超类拥有的方法,子类也有,只不过是子类和超类这两个方法实现的结果不一样罢了。

           2)面向对象设计的基本原则理解:

面向对象的单一职责原理,在Java语言中,就如老师说的一样,每一个方法的代码量充其量也就是40行,每一个方法都不应该去实现过多的功能,这样会使得程序代码冗余,过长,给人一种臭婆娘的裹脚布,又臭又长的感觉,一方法就是应该解决一个问题,不应该太多的去解决别的问题。

面向对象的开闭原则,Java语言最大的特性就是代码可复用性强,就是因为Java语言提倡面向面向扩展开放,面向修改关闭,在编程的过程中,应该尽可能多的考虑到这个问题的扩展,使用更多的抽象类和继承关系去解决问题,一个程序应该尽可能的做到这一点。

           3)OO编程思维的理解:

对于OO编程经过这几个作业的洗礼,我个人觉得在OO编程,就比如说拿到一个题目,我们首先应该先把这个题目分解成几个小问题,在从小问题着手解决每一个小问题中的小小问题,然后在这些小问题中实现这个大问题需要解决的一个问题,再把这些小问题串联起来,这个问题就解决了。就比如说,一个人的走和跑,我们在这就将这个分为两个问题,你要会跑,就一定要会走,解决了走你才能学会跑。

4)类设计心得:

      在Java中就像我在3)中说的一样,我们应该把一个大问题转化成一个个的小问题,然后咋小问题中解决需求之类的,在根据这些问题中的关系串联起来。在这里,我的一个个小问题就是对应着一个类。

四、测试的理解和实践:

        1)个人觉得测试对于编程非常重要,要写出一个好的代码,少不了测试,要尽快地写出程序,少不了测试,简而言之,学会测试是一个程序员必备的技能。

2)查阅资料,假设使用Junit进行程序的测试是否可行:

可行,junit单元测试框架是Java程序开发的一把利剑,在junit测试中可以测试一个个方法,你只需要创建一个测试类,Java会自动帮你生成你想要测试的代码片段,然后知道这个方法的运行结果,可以大大的减少程序员的纠错时间。

五、课程收获:

在这个阶段的四周学习中,对于Java的三大特性有了一个初步的了解,在类与类之间的关系中受到的教训最多,不能够很好的把这些类串联起来导致花费的时间较长。收获方面已经基本掌握了Java语言的语法,能够运用OO编程思维进行编程,对于Java的设计原则也有了一个全面的认知。

希望在接下来的学习中能够更好的掌握面向对象的编程思维,能够更好的理解面向对象的编程原则。

六、对课程的建议

  希望老师在下一节课上课前能够把这节课上课需要的代码发给我们,让我们能够有一个预习的效果。

猜你喜欢

转载自www.cnblogs.com/hhxuhao/p/12814285.html