Java第二阶段作业总结

前言
第5-8周完成了Java第二阶段的学习,此阶段的作业较上三次作业的难度有较大提升,需要自学的知识更多,耗费时间更长。
1.作业过程总结
①总结三次作业之间的知识迭代关系
  第四次作业使用Java中的字符串处理类,对于正则表达式的应用,用正则表达式对字符串数据合法性校验以及对Java中类继承关系的简单正确使用。第五次作业涉及使用类的继承较第四次作业中对继承更加深入和对类的多态性及其使用方法。第六次作业对于类的继承、多态性的使用进一步提升以及对接口的初次接触应用。
②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性;
  作业中去将对象的信息对于类外部直接访问和修改,而是通过该类所提供的方法来实现对类信息的操作和访问,一般使用有getter()和setter()方法。此阶段中对于继承的使用较多,多在图形的处理题目中,如Circle类、Rectangle类继承Shape类,通过题目中图形类的继承关系,理解继承的特性,子类可以使用父类的所有功能,并且不需要重新编写父类的情况下对这些功能进行扩展。在继承的使用中,对父类对象中的某些方法进行重写和重载,这样来把多态的特性融入到作业中,从作业来理解多态。
③作业过程中遇到的问题及解决方法
  在第四次作业的第一题中,题目需要运用正则表达式,在对输入数据的校验中花费了较长时间,刚接触正则表达式不是很熟悉,水文数据校验时正则表达式出现了判断错误,对每一步都分进行切分并进行校验,程序采用输入一条校验一条的方式,使得在第0个测试点:输入为连续多个空时未成功解决。在第五次作业中,一元多项式的求导中,对于多项式的分割不知道从哪里进行,最后采用将一元多项式中的“-”全部换为“+-”后,根据“+”进行分割。
④每次作业花费的时间比例
  作业花费时间比例大致为:4:2:1,其中第四次作业中第一题花费时间最长,花费了两天时间进行调试和修改,在第五次作业中一元多项式也花费了很长时间。
⑤对编程过程的严谨性的认识及教训
  在编程时需要先认真思考编程的过程,尽量想到编程中可能会发生的错误,在动手时需要特别认真仔细,编程过程中需要非常严谨,将输入与输出的格式仔细确定,为后面的调试过程减少任务量。
2.OO设计心得
①对面向对象三大技术特性之间关系的理解
  面型对象三大特性:封装、继承、多态;封装是屏蔽内部实现的细节, 仅仅对外提供共有的方法;继承就是子类获得父类的特性就是继承,被继承的这个类我们称之为父类,继承了某个类的类我们称之为子类,多态就是某一类事物的多种形态,程序中的表现:父类指针指向子类对象,而形成多态的条件要有有继承关系、子类重写父类方法、父类指针指向子类对象。
②面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)
  单一职责原则:每一个类的功能要单一,每一个类中应该只有一个发生变化的原因。一个方法应该尽可能做好一件事情。
  开—闭原则:程序时刻扩展的而不可修改,对扩展来说是开放的的:有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况;对修改来说是封闭的:一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改
③OO编程思维的理解
  将设计的对象与现实中存在的对象具有相同的属性和行为,使之通过对象来串联起解决问题的方法,并且使每个对象不是单独分离的一个,使程序的维护更加方便。在编程中要符合oo编程的单一职责原则,使程序可以达到复用的效果。
④类设计心得
  每一个类要符合面向对象的设计原则,一个类只解决一种功能,在设计类时,思考如何可以让这个来能变得简洁易懂,与现实对象能结合,使类可以达到复用的效果。
3.测试的理解与实践
①测试对于编码质量的重要性
  一个高质量的测试对于编码的质量是非诚重要的,通过不断的调试来解决程序中出现的各种问题,通过每次测试的总结来修改代码,可以使程序编码更快的达到解决问题的目的,使程序更加完善。
②查阅资料,假设使用Junit进行程序的测试是否可行
  查阅资料可知:Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。junit可以大大减少你的代码量和文件量,为测试提供了很大的灵活性。junit是一个自动化单元测试工具它能够根据你需要测试的类及其接口自动生成该类的单元测试案例,你只要根据你的需要,就输入必要的测试数据就行了,系统运行后自动判断运行是否成功。编写原则:是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;是使测试单元保持持久性;是可以利用既有的测试来编写相关的测试;JUnit使用帮助(1)、测试方法需要遵循的原则:A、public的B、void的C、无方法参数D、方法名称必须以test开头。(2)不同的TestCase之间一定要保持完全的独立性,不能有任何的关联由此。可见使用Juit进行程序测试是可行的。
4.课程收获
  在这为期四周的学习中,我学会了如何使用正则表达式以及用正则表达式对字符串数据的校验和处理,对于面向对象的封装、继承和多态三大特性有了更加深入的了解,
5.对课程的建议
①第三阶段作业难度、题量的建议
  第三阶段的作业难度较第二次的难度略微增加、题量为两到三题就好。
②课程内容讲解方面的建议
  可以再课程中多加入实例,让学生自己思考如何去实现。

posted @ 2020-05-02 18:52  醉靉霺醺  阅读(134)  评论(0)    收藏  举报