第二阶段博客

一、前言
这次的题目集相比于上一次的题目集,难度的确上了一个档次。这批练习我们需要熟练运用正则表达式(如题目集4,7-1水文数据校验及处理;题目集5,7-4 统计Java程序中关键词的出现次数;题目集6的四道正则表达式的训练题),掌握继承(题目集4,7-3 图形继承 ;题目集6,7-5 图形继承与多态 )和多态(题目集6,7-5 图形继承与多态 ),以及Java中与类有关的构造方法等的相关知识点(题目集4,7-2 日期问题面向对象设计(聚合一);题目集5,7-5 日期问题面向对象设计(聚合二) )并熟练运用。

对于题目集4~6主要有分析的问题有 :
①题目集4(7-2)、题目集5(7-4)两种日期类聚合设计的优劣比较
②题目集4(7-3)、题目集6(7-5、7-6)三种渐进式图形继承设计的思路与技术运用(封装、继承、多态、接口等)
③对三次题目集中用到的正则表达式技术的分析总结
④题目集5(7-4)中Java集合框架应用的分析总结

二、设计与分析
①题目集4(7-2)、题目集5(7-4)两种日期类聚合设计的优劣比较

对于c语言基础薄弱的我来说,刚刚一接触这两道题的时候,有种头大的感觉。但在网上查阅了相关内容,以及在同学的讲解下有了一个较为模糊的轮廓,接下来是查阅到的一些相关知识:

聚合一总体来说是对类的一个串连,一层套一层的,关联性较高,因为每个类都是连接在一起的,若是后期的需要修改以及优化会产生很大的麻烦,改一处的话就要有很多地方的改动,耦合性太大,不利于程序的维护。并且将每个类都串在一起的话,代码的可读性很差
聚合二中的类分开实现,耦合性不大。如果需要改动代码,只需要改动当前类中的内容,整体代码不需要有太大的改动,并且聚合二代码可读性较强。

②题目集4(7-3)、题目集6(7-5、7-6)三种渐进式图形继承设计的思路与技术运用(封装、继承、多态、接口等)

7-3定义了类Shape,子类Circle与Rectangle继承自Shape父类,均重写父类继承来的求面积方法。类Ball与类Box又分别继承自Circle与Rectangle类,也均重写了父类继承来的求面积方法。

7-4作业重点研究的是平面图形相关的处理方法,与题7-3类似。

对于题目集6(7-6)主要体现了对接口的使用,使用接口有这几个注意事项:接口内部的属性默认用final关键字修饰,方法默认并且只能使用抽象方法。定义一个求面积的接口,内部有抽象的一个求面积的方法。然后按题目要求定义的Circle类和Rectangle类使用这个接口并重写里面的求面积方法。

③对三次题目集中用到的正则表达式技术的分析总结

题目集一当中水文数字校验使用到的正则表达式最为复杂,很容易出错;题目集二 统计Java程序中关键词的出现次数 这题未能做出来,不清楚用没用正则;题目集三第一题是对数字(验证QQ号)的正则表达式的考察,第三题是对数字与字母混合(验证码的校验)的考察,第四题是对学号的考察,只要细心,这正则的题目都不难,代码很简洁。

④题目集5(7-4)中Java集合框架应用的分析总结

  该题是 统计Java程序中关键词的出现次数 。自己不会写,网上搜了,好复杂,说实话没花心思看。。。充分暴漏了自己之前说的问题。

三、踩坑心得

做日期类的聚合这种题目,一定要写完一个方法,立马测试,千万别一下写几个方法,那样错都不知道错在那,对于那些代码量较大的更应如此,改掉自己所有类都放到一起的操作,不然在后面愈加深入的学习中只能寸步难行。

四、改进建议

个人比较菜,只希望在后面的学习中,认真负责独立完成今后的每一次作业。

五、总结
通过这三次题目集的练习,加深了我对对java程序的代码风格和相对c语言的不同之处的感受。进一步了解了java的封装性,继承,多态和接口,同时也暴露了自己对基础语法的不熟悉以及掌握程度不够。

希望后续的练习,我能够了解更多的java知识,不断锻炼自我,改善自我。

posted @ 2021-11-13 16:08  周而复始qc  阅读(103)  评论(0)    收藏  举报