OO第二单元(5-8周)作业总结要求(第八次作业)

前言:
   随着学科的深入我越来越觉得面向对象这门学问里的门道越来越多,里面越来越多晦涩难懂的知识,花在面向对象上的时间也越来越多,现在也是学的有些迷茫了,老师要求独立完成每次作业,但是我的编程能力较为薄弱,遇见了一些比较难的问题就会很头疼,经常一个作业题目中一个算法可以卡个一天半天的,甚至更长。也不敢去请教同学,因为请教同学的话,思路基本一致然后作业的查重率就会很高,查重率高后果就会很严重。不过我还是挺有信心的,只要坚持住就会成功,现在可能是一个困难期,熬过这段时间就好了。


.作业过程总结

1.三次作业之间的迭代关系:
五到八单元的作业内容主要是关于日期设计有关的编程题,也算是一环扣一环吧,这三次作业,第一次主要是把日期程序各种功能分割,变成一道道小题,这样做的好处是为了给我们降低难度,先将问题逐个击破,免得一上工作量太大使我们无从下手,其中每一个实现日期功能的算法都是很难解决的,每一个算法都较为刁钻古怪,要很熟练的运用字符串、数组、for循环、while循环,使用大多数的是C语言的知识,到了最后一次作业就是功能基本完善的日期程序,里面包含了之前第一二次作业的所有日期算法设计成了类,然后用主函数一一调用,利用继承父子类的方式方法来实现将所有的类连接,我从中渐渐的发现,使用类可以提高代码程序的独立性,这样使我们的编程更加的具有容错性,不容易出现一步错步步错的情况,有效的避免了错误发生后导致全盘改代码的情况,每次的作业布置情况还是和以前一样,循序渐进然后逐渐成几何倍的增加难度,然后让我们熟练的掌握这个阶段该掌握的东西,学会了更多java新的方法如何调用并且熟练运用,第二单元的pta作业与上一单元的pta作业衔接的很好没有脱节断层现象,我充分的感受到了这种迭代的关系,我认为这样很好,可以使我们温故而知新,在学习新的知识的同时不忘了之前的知识。

2.如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性

       封装性:对于封装性,从字面就很容易得知是什么意思,就是封存包装的意思,把自己的代码封装好,仅自己使用,咱们软件工程自己设计出来的东西必须自己保管好,要不然被会被别人剽窃,让不劳而获的人从中谋取利益,然后损害编码人自己的利益,所以为了保护代码的隐私性,封装性是很有必要的,封装性也可以使代码更加的独立,更加不容易出现错误,因为对象的属性无法修改所以编码出现的错误相对也会减少很多。

       继承性:继承是类与类之间的桥梁,可以使对象更加的灵活多变,对象可以拥有更多的属性,避免了重复的代码,使代码变得更加的简洁,有效的减少了错误率,如果是C语言,每个方法都要重新定义变量,大大的增加了代码数量,异常的繁琐。

       多态性:多态性就是指可以让各个对象被一起调用,多态性非常的灵活,代码可以贡献,最重要的还是解决了代码函数的使用同样的名称不兼容问题,多态也分两种,一种为重载,一种为覆盖,两个表现形式也是截然不同。覆盖需要在继承的条件下才能发生而重载不需要。

3.作业过程中遇到的问题及解决方法

   问题:设计求下一天的日期算法时使用单独列出特殊情况的方法代码量太大异常繁琐

解决方法:使用数组将日期单独逐个存入用for循环,利用if判断语句进行个别修改

4.每次作业花费的时间比例

  第一次作业六小时以内

  第二次作业:小时以

  第三次作业:六小时以外5.对编程过程的严谨性的认识及教训

最大的问题还是无法彻底静下心来好好码代码,自己对待作业的态度不够严谨,自己遇见了困难总想找捷径解决,到了后来捷径没找着反而浪费了大把的时间,本来可以踏踏实实的花时间写完,总想着想出更加简便的算法,结果花费了更多的时间,得不偿失,好比方自己连走路都没学会就想着奔跑,这样肯定是不够严谨稳定的,所以在编程过程中浪费了很多时间走了很多弯路,总结了这次的教训,以后编程一定要踏踏实实脚踏实地一步一步的,再苦再累也要坚持踏实的态度。

 

 

二.OO设计心得

1.面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)

单一原则:规定每一个类都要有只能有一个唯一的功能,而且这个功能只能由这个类使用所有其他的类与其互不干扰。

开闭原则:开就代表着拓展,比如一个程序需要更多的功能,肯定也需要更多的属性这时候,所以这时就应该打开,实现更多功能,开是为了适应更多需求,闭是为了降低耦合,降低错误率和运维难度

2.OO编程思维的理解

OO编程思维更加得灵活,有很多可操作性,虽然现在看到的只是九牛一毛而已,但是我已经差不多感觉OO思维的重要性和灵活性,封装.继承什么时候使用什么时候不该使用,这都是我们应该学的,应该理解的。

3.类的设计心得

类要设计的尽量的简洁,特别是输入输出接口也要简洁,避免对接麻烦的存在,类的设计尽量独立,平行,这样不容易出现错误。

 

三.测试的理解与实践

1.测试对于编码质量的重要性

没有经历过测试的代码是绝对不可以使用的,测试对于编码质量是不可或缺的,很少的有人可以不经过测试直接编写出完美的代码,所以测试还是非常重要的。

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

我认为用Junit进行程序测试是可以的,因为可以一步一步的测试,这样更加容易找出问题的所在,提高代码的准确性,提高效率。

 

 

四.课程收获

这次课程让我懂得了,想要最快速的编好一个程序,必须得踏踏实实,不能老想着一步登天的想走捷径,这样更容易得不偿失,还有就是一个方法行不通千万不能钻牛角尖,试着用别的方式方法来解决问题,要胆大心细,需要学的还有很多,一定得不卑不亢的坚持方能成功。

 

四.对课程的建议

1.第三阶段作业难度、题量的建议

希望难度减少,题量也减少,这个单元我感觉我花费在java上的时间真的太多了,甚至到了后面都有点无力的感觉,这样我的编程质量低了很多,只是个人意见,肯能是我编程能力较弱的缘故。

2.课程内容讲解方面的建议

老师上课很认真,效果很好没有建议提出。

猜你喜欢

转载自www.cnblogs.com/cjl453525970/p/12814742.html
今日推荐