(1)对于当时没通过的每次作业,描述当时遇到的困难和无法完成的原因
当时是家里麦收的时候,忙而且天气炎热。自己在看完8条规则之后,感觉Rule002会比较难写,再加上自己前边只无效过一次,松懈了。
(2)现在补的每次作业,有哪些针对性的改进,包括设计、算法和难点的处理等
第十五次作业依旧沿用了第十四次作业的作业结构,先将UMLElement元素按照Type来分成不同的ArrayList,个别列表采用了HashMap,主要是用来查找。在执行相应方法的时候,再对列表进行遍历处理。
下面总结一下各个Rule的难点和解决办法吧(简单的就注意细节别犯错就好,就不细谈了)
Rule001 略
Rule002 有向图中寻找全部闭环的方法,网上多的数不胜数。自己拿来用的时候需要考虑优化的问题。省掉不必要的步骤,保留自己想要的结果就OK。(需要考虑图中出现元素分割的情况)
Rule003&Rule004 设计重点在于将问题简化为寻找直接多继承的元素(当时花了不少时间才醒悟过来),然后对该元素进行判断,判断直接多继承的元素列表是否存在共源,之后再将该元素的子类/接口加入结果集中即可。
Rule005 略
Rule006 略
Rule007 略
Rule008 略
(3)通过补给站的讲解,有哪些新的收获和进步
将自己对于题目的理解表达出来并且得到老师的肯定还是很令人高兴地,而且老师对于我自己设计的一些指导性意见也很宝贵,自己在未来的设计中会对于不同的应用场景调用不同的容器。
(4)对补给站组织形式有哪些建议
暂无
(5)心得体会
说实话这半年OO走过来,还是比较轻松地,我在家的学习效率远远高于我在学校的学习效率,这说明我在学校的态度以及积极性上出现了问题,这是我最需要感谢课程组的事,发现了自身的一些问题。
其次,面向对象的思想我可能没有在课程这一学期进行下来理解透彻,但是我相信它会潜移默化的影响我之后的编程风格。进入大学以来,我是头一次带有享受的心态去进行一门课程,非常感谢课程组的付出,没有放弃我,希望这种影响能持续很久。
也希望今年补给站没有通过的人能够及时调整自己的心态和态度,翻过那座山。