Java近三次作业的总结

一、前言

针对Java这段时间的学习,在这三次作业的总结,这几次作业包括:水文数据校验及处理,蒙特卡罗方法求圆周率,图形继承,图形继承与多态,图形卡片排序游戏,一元多项式求导,图形卡片分组游戏,求素数的算法优化,以及浅谈学习Java后对面向对象的认识和思考,以及OO设计心得。

 

 

二、作业过程总结

 

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

 

第一次作业主要是针对的是对java里面类与类关系中继承的学习和运用,让我们熟悉类继承的调用以及了解类的复用性,这次作业第一题是针对的正则表达式的熟练运用第二题则是对对象这个概念发运用,第三道题则让是继承这个新的知识点的学习和运用。

 

第二次作业则是在此基础上更进一步,第一道题与图形继承类似,要求我们运用继承的方法,并且还要求我们运用一个新的知识点多态。第二道题针对的则是正则表达式和链表,要求我们运用StringBuffer、StringBuilder 或者 ArrayList、 LinkedLis等类。

 

第三次作业则java里面类与类关系中继承的熟练运用,这次作业中第一道题第二道题和图形继承类似差不多同样要求运用继承的方法用链表储存对象,并调用方法给链表里面对象排序,而第三道题则是要求我们优化算法,开始考虑代码的时间复杂度


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

 

这几次的作业难度我觉得第一次最难,在Java中通常通过建立一个实体类,用来封装对象的属性和行为题目,体现了面向对象的特征:封装性,其具体就表现在私有属性的定义,只不允许通过set和get来传入和得到数据。这几次重在让我们掌握较多的类继承关系的运用还有正则表达式的熟练运用。要求我们学习并掌握父子类的继承关系、抽象类的继承、子类重写父类的方法,并初步开始起学习和使用接口,也就是多态性的体现,一个接口让更多的方法实现。


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

 

这几次作业最大的难度就是正则表达式的使用和字符串的切割,很多地方无从下手,这个部分知识点全部都是和同学讨论还有去网上查资料,特别是正则表达式就是通过网上资料的查询学习别人的正则表达式,才让我有啦灵感有啦思路。其次就是对类对其他类里面方法的调用会感觉很复杂,但是通过对类图的分析自己的思考还有和同学的讨论才得以解决。输出格式出错、计算出错等很多细节方面的一些错误也是常有,这个我会经过多次的调试和检验以及和同学的讨论去解决。


④每次作业花费的时间比例

 

没次做作业时间比较分散大致计算,第一次作业难度大一点花了1.5 天,第二次作业差不多一天做完,第三次作业只花了半天就做完了,比例大 约是3:2:1。

 

⑤对编程过程的严谨性的认识及教训

 

编程的时候一定要严谨,做作业的过程中因为不严谨出现错误,后来查错误的时候花费了很长时间,所以说构思和编写的时候一定要严谨,多去考虑不同情形构想特殊情况。

 

三、OO设计心得

 

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

 

封装:将描述事物的数据和操作封装在一起,数据和操作只有通过提供的公共方法才能被外界访问,私有属性和方法是无法被访问的,表现了封装的隐藏性,增加数据的安全性。

继承:继承性的作用主要体现代码的复用,子类继承父类的特征和行为,使得子类拥有父类属性、方法,还可以实现父类的方法。子类也可以对父类进行扩展添加拥有自己的属性和方法。

多态:多态就是同一个接口,不同的对象的形态可以由各个对象单独定义,在有新的需求出现的时候,我们可以通过扩展原有代码的方式,通过多态机制赋予个性化的实现。


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

 

单一职责原则是单独执行一个功能,让一个对象或者方法只包含单一的职责,使各个方法的用处简单明了,以后如果需要这个功能的话也可以直接调用,提高了代码的利用率。开放-封闭原则是说类可以扩展,但是不可修改遵循这个原则可以带来面向对象技术可维护,可扩展,可复用,灵活性好的好处。


③OO编程思维的理解

 

面向对象思想针对的是对象,当你要实现一个功能的时候是创建一个对象针对这个对象来进行一系列的操作,也就是针对一个实例来操作,让程序可以简洁明了可复用,灵活性好。

 

④类设计心得

 

设计类的时候应该就是考虑其复用性和单一职责功能,特别是复用性,可以给以后的的程序编写带来便利,考虑类与类继承关系也很重要,几个东西有相同的特点可以创建一个父类来继承,简洁明了且灵活

 

 

四、测试的理解与实践

 

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

 

测试可以帮助发现代码漏洞,错误和缺陷,有利于发现并修改这些错误,提高代码的质量。


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

 

使用Junit进行程序的测试是可行的

 

五、课程收获

 

①总结这四周来在OO方面的教训及收获

 

通过这段时间的学习,我了解了开闭原则,并且对单一职责原则有啦更深刻的理解,学习了封装、继承和多态,对类和方法的设计也有了改变和提升,也渐渐从面向过程的思想转换到了面向对象的思想。

 

六、对课程的建议

 

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

 

希望难度不要太大吧,可以适度难一点,作业贵精不贵多

 

②课程内容讲解方面的建议

希望老师可以多讲一讲pta上面的题目,有的有地方不是很会希望可以挑一些难一点的讲一讲过程,简单的讲一讲思路,再就是可以多讲一讲类和方法应该那些应该放一起,单一职能这方面的知识可以多讲一讲。

posted @ 2020-05-02 22:37  惜殇  阅读(110)  评论(0)    收藏  举报