前言:
本次博客是针对三阶段的java学习的一次小结。
作业过程总结:
第一阶段
第一阶段的学习让我知道怎么样从面向对象向面向过程过渡。
第二阶段
而第二阶段让我更加深刻的理解面向对象的知识面最主要的是包括:通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性。
第三阶段
第三阶段的学习包括程序的重构,接口与抽象类的使用,同时最重要的是对栈的使用,与此同时巩固了类的封装性、继承性以及多态性的综合应用,也进行了正则表达式的学习和巩固运用。最近学习到了关于事件(鼠标事件,键盘事件)、lambda表达式、动画以及内部类的相关基础知识。
作业过程中遇到的问题及解决方法
在完成作业时,对一些内容不熟悉,如Map,List,Stack等,需要通过查阅资料来使用,大大降低了完成的效率,花费了大量的时间,也没有达到预期的效果。最后一些问题还是通过和同学一起讨论得出的结果,还存在一些可能现阶段我还难以解决的问题。
对编程过程的严谨性的认识及教训
自己写的代码基本上找不到错误,一直觉得自己是对的。问题在于我写代码不够严谨,不然就不会浪费太多的时间在找错误了。可能是因为知识点不清楚,一个好的代码会让代码的实用性增加,更加简洁易懂,所以在以后的学习中要重视严谨性,不仅仅是在代码编程方面,还有其他课程的做题方面,这样不仅可以节约时间,也可以让提高自己学习的效率。所以对知识的掌握要非常熟练。
OO设计心得:
1.对面向对象三大技术特性之间关系的理解
封装减少了大量的冗余代码封装将复杂的功能封装起来,对外开放一个接口,简单调用即可。将描述事物的数据和操作封装在一起,形成一个类,被封装的数据和操作只有通过提供的公共方法才能被外界访问(封装隐藏了对象的属性和实施细节),私有属性和方法是无法被访问的,表现了封装的隐藏性,增加数据的安全性。
继承减少了类的冗余代码让类与类之间产生关系,为多态打下基础若一个新类继承了原有类的属性和方法,并增加了自己的新属性和新方法,那么这么子类就可以完美地实现它应该具备的功能。在做题时我发现构造器(构造方法)是无法被继承的,但是子类生成对象时默认会先执行父类无参的构造函数(实例化对象,让子类可以使用父类的成员)。
多态同一个接口,使用不同的实例而执行不同操作。
2.面向对象设计的基本原则理解
模块化设计,对象就是模块,把数据和方法紧密结合在一起构成模块,每个对象各司其职,只做好自己的本分工作,使其更具有通用性.
3.OO编程思维的理解
我觉得关键得先找出对象,分析对象之间的关系后,再把类给抽象出来,分析完类与类之间的关联后在进行设计.
测试的理解和实践:
1.测试对于编码质量的重要性
测试是检测代码质量标准,没有测试最为保证的话,一篇代码可能永远只能返回错误值,永远不能为人所用,这时代码只能算是一堆无用的字符,就算只有个别错误,没有测试的话,这个错误就无法被程序员及时发现并修改,有bug的代码只能称为bug,而bug满足不了用户的需求.总之没有测试,代码的质量就得不啊到保证。
此外,代码的测试还可以用来测试代码的运行是否流畅和测试代码的运行速度,再加以修整从而提高代码的质量。好的代码不是一下子写出来的,而是慢慢改出来的,一遍遍的测试一遍遍的修改后得出来的代码才经得住推敲,才经得起使用,一点点的完善,一步步的走向完美。
四、课程收获:
我们一个学期的Java学习就这样结束了,经过了一个学期的学习,非要谈谈收获的话,也还是有的比如我从不懂面向对象的好处,到现如今非面向对象不写的转变。网课对我这样自学心不强的人来说,真的是太荒废了。从作业中的收获最大,我明白了代码的严谨性,我在这方面花费的时间真的比较多,一直以来都是这样的问题,这同时让我对代码严谨性的重要性有了更进一步的认识。总的来说我的编程能力还是有所提升的。
五、对课程的建议:
希望老师以后可以适当引导一下我们学生,以免走弯路。
希望可以多发些带有注释的代码给我们实践(要发全的)
希望每次作业过后能讲解一下关于作业的内容