最后三次题目总结

Posted 一个失落的梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最后三次题目总结相关的知识,希望对你有一定的参考价值。

1、前言:

  这三次作业的知识点主要是:(—)类的继承,多态性的使用方法,接口的应用。(二)对类的设计,类之间如何安排好相互的关系。(三)基本的编码能力,编程的思维。而从题量方面来讲,总体题目不多,但注重题目的质量。同时题目难度方面肯定是相应的提升了,将众多知识点结合在一起,也是对我们这段时间学习java的一些总结性的题目了,对我而言,也是能充分体现我在这段时间里对java语言的运用的掌握程度,是一个了解自己掌握程度的绝好机会。

2、设计与分析:

 一)题目集7(7-1)、(7-2)两道题目的递进式设计分析总结:

  题目集7(7-1)①对继承和多态的运用,在类的设计中得到充分的体现,对每个图形都继承于一个图形父类,在声明时只需要声明父类即可,而类的实体根据需要来创建出来即可,不用去追究声明的类型是什么,极大的方便了对功能的操作过程;②ArrayList泛型的应用方法,将计算出来的数据放在数组中,同时调用ArrayList类的方法可以对数据进行排序,省去了长段的排序代码,同时数据也方便输出。③Comparable接口及泛型的应用,接口的使用可以体现多继承,方便了类之间去各自体现相应的功能,可操作性得以加强。

  题目集7(7-2)是对(7-1)的递进式设计,在对原有的程序基础上添加的分组功能,对于类设计的“ 开闭 ”、“单一”原则有了更好的体现,每个类的功能添加由各自来实现,那里出现了问题就能很快的被发现,同时方便了功能的添加,是对(7-1)类的设计的一种检验,让类的设计的原则更加深入人心。

  题目集7(7-2)类图:

  复杂度图:

   从复杂度图来看类的平均复杂度较高,类的设计不是很完善,而方法主体的复杂度适中,方法的设计还是没有太大的问题,但仍有很大的改进空间。

  (二)题目集8和题目集9两道ATM机仿真题目的设计思路分析总结:

  这两道ATM机仿真题目也是呈现一种递进式的设计,对类的设计的考察也是重中之重,将每个功能模块的职责赋予到每个类中,对类之间的关系要分析到位,什么里面有什么要拿捏到位,将类之间关联起来,构成一个框架,功能主体也就自然而然的出来了,同时也方便数据输入时能快速定位到相应的类,让数据良好的被处理,得到相应的输出结果。正因为题目集8对类的良好的设计,才能在题目集9中加入新的功能。在对功能实现进行设计时要考虑好每个类的负责模块,类与类之间的关系,使代码能让人一目了然。

   题目集9类图:

   复杂度图:

   从复杂度图来看,有几个类的平均复杂度比较高,而主类由于要填入数据就会显得比较复杂,而方法复杂度图中只有一个方法比较复杂,这个方法就是主体功能的实现,把这些功能放在一个方法里便于去修改,但也会使得这个方法非常的臃肿,只能折中处理,整体上还是并无太大的设计问题。

 3、踩坑心得:

  ①题目集7(7-1)、(7-2)的输入测试数据是很讲究的,也使得对每个数据进行处理变得有些难,要确保每个输入测试数据能有效的处理就需要我们去细分好每个数据,理解每个数据代表着什么,在按相应的处理方法得到结果,一开始,我对每个数据进行了独立处理,这其实很费时间,也耗内存,更好的做法是按相应的类型做一个区分,是那个类型的图形就到那个图形的列表就行;其后数据的处理方法,也是一个难点,需要去做一个好的设计,让处理方法能够有效的处理好数据,得出相应的结果;同时一个程序要完善好,就要把bug减少,我们在处理错误数据时,要分析好数据是否错误,是那种类型的错误,把错误的数据处理好也是我们要去构思的,像这个题目集7就要针对图形的构成规则,去处理错误的数据。

  ②题目集8和题目集9,这两道题都是考的对类的设计,我们需要对类的设计进行一个好的构思,分析好每个类之间相互的关系,有利于我们去实现相应的功能,我们很多时候没有分析好类与类之间的关系就开始写代码,然后发现错误后再来改正,这对我们写代码的进度来讲是很不好的,会耽误我们大量的时间,而类的设计就是我们一个好的设计方案,按照这个方案来能有效的缩减我们完成代码的时间,也能让我们更简便的去完成功能的相应代码。起初做这道题时也是没有做好类的设计,就使得我的功能代码很难做好,方法也显得很复杂,在了解清楚类的关系之后,去设计方法就可以得心应手了。

4、改进建议:

  ①题目集7(7-1)、(7-2)的功能主体上都差不多,有计算图形面积、排序、计算面积的和等功能,但是功能仍然比较简单,对图形其他方面内容没有涉及,例如可以从几何图形变成立体图形的求面积、求体积等其他和图形有关的内容。

  ②题目集8和题目集9可以对银行其他功能进行完善,后续也可加上图形界面,做成一个比较完善的银行ATM的系统,对其他有关银行的类做出一个好的关系处理,使整体的类的设计完善,对其的功能进行多样化,形成一个完整的ATM机的管理体系。

5、总结:

  通过这三次题目集学到了继承、多态的应用、ArrayList泛型的应用方法、Comparable接口、及对泛型的应用、单一职责原则的应用与“开-闭”原则的应用,对类设计的原则也有了更深的理解,对类的关系也有了比较好的了解,对类的设计方面的能力要加强,对Java的高级应用要学习,不能只停留在对Java的基础应用里面,要继续跟进,深入全面的学习java。

 

以上是关于最后三次题目总结的主要内容,如果未能解决你的问题,请参考以下文章

7-9次题目集总结

OOP课程题目集第二次总结

OO第三次博客作业总结

第三次Blog作业

第三次博客总结

题目集7~9的总结