ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于pta题目集7~9总结

2021-06-19 04:02:30  阅读:157  来源: 互联网

标签:总结 实体类 题目 代码 ATM 作业 pta 设计


一、前言

题目集7对类的继承、多态性使用方法以及接口的应用进行了考察。适逢劳动节,降低题目数量及难度,因此题目集7相对后两次比较容易完成。

然而题目集8难度并没有所提升,设计仿真ATM机系统,重点考核类的封装性及类间关系设计(关联、组合及依赖)而且只有一题。根据题目的要求这里并没有考察到文件操作。

相对题目集8,题目集9对其进行了迭代,这增加了ATM系统的功能。例如,这里增加了跨行存取款的功能,并且增加信了用卡,增加跨行取款的手续费用以及信用卡透支利息。

总的来说,题目难度和数量比较少,因此花在编程的时间比较少。

二、设计与分析

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

7-1相较于7-2的功能简单,7-2在7-1的基础进行了迭代。

7-2增加了功能将相同的图形分开来,并且将相同的形状的面积进行排序,还有分别对同一形状的总面积进行了相加。

因为在写题目的时候对业务类的概念比较模糊,因此在写这道题的时候没有将一些功能利用业务类来实现,也没实现单一职责。这就导致在做完题目7-1的后,再写题目7-2仍然花费了我不少的时间。

下面列出两道题类,以便于分析这两道题。

这个是7-1的类图

 

 

 这个是7-2的类图·

 

 

 我们在这里可以看到两道题都构造了足够多的实体类

但是业务类是不够的。

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

第八次题目集和第九次题目集都只有一道题,体量是比较少的,但是代码量并没有减少。

第八次题目集构造的ATM比较简单,这有些地方设计不合理、

下面直接看类图

这里有我犯了一个错误,在写这道题之前,我错误的划分用户和银行的关系,在现实生活中银行和用户的关系应该是关联,而不应该是聚合,虽然在这道题上可以完美的解决问题,但是在现实生活中这样的系统是解决不了任何问题的,因为用户可以在多家银行办理银行卡,而不是像本题样,一个用户只在一个银行上办理银行卡。

下面就是题目集9的迭代

废话不多说,直接上类图

 

 

 我们看与第八次题目集不同的是,这里的用户和银行之间的关系为关联,两个实体类的耦合度比较低。还有就是相较于题目集8,题目集9的增加了很多的业务类,这样就让实体类之间联系变少,两者间的联系都是通过业务类来联系的。有一点不足的是,这里业务类并没遵循单一原则。

三、采坑心得

看第八次题目集与第九次题目集时,这里的类比较多,很容易分不清两个实体类之间的关系,因此在写代码之前一定要先厘清这些类之间关系,以及增加一些业务类,以免在先代码的时候才发现没有厘清关系而改代码甚至重新写代码,这样很浪费时间。

四、改进建议

1、希望老师能够将一些很多同学都未得满分的题目进行讲解。

2、可以对一些分值较大的测试点进行分割,变成多个小的测试点,这样能够更加直观的得知测试点是什么,并直面得知代码所存在的问题。

3、对一些难度很大的题目,希望能够循序渐进的发布,在水文信息那次作业中,由于类图的设计就比较麻烦,再加上第一次使用正则表达式,就导致出现很多人不能通过的现象。

4、希望能够开展一些平时的练习题,供我们日常练习,保证每天的代码量。

 

五、总结

在这三个阶段的学习中、作业难度在一步步的提升,所设计的知识点也在逐步的增加。第一阶段的作业只是很基础的知识,和C语言很相似,不需要很多的关于Java的知识,很容易过。第二阶段的作业则就是在第一次作业的基础上添加了很多Java的知识点。加入了正则表达式和多态和继承的知识,这就使第二阶段的作业相较于第一阶段的作业难度提升了一个层次。第三阶段则又是在第二阶段的基础上,对难度进行了又一次的提升,在第三阶段的作业中,我们需要充分利用List、Map等知识点,同时对正则表达式、继承多态等知识进行混合运用,这对我们来说是个挑战也是一个很大的提升。

通过这几个阶段学习,磨砺了我们的意志,同时对我的编程能进行了锻炼,初步的了解了集合框架。

标签:总结,实体类,题目,代码,ATM,作业,pta,设计
来源: https://www.cnblogs.com/xys20201225/p/14749929.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有