1.最终架构图如上
1.1 最初为只有一个冒险者类和装备,食物,瓶子类,而Main中除了有冒险者的容器还分别有装备,食物,瓶子的容器,这样非常不便于操作,于是由Adv管理其余类。
1.2 后来添加了Fight类,用来进入战斗模式,同时增加FightLog类,由其管理
1.3 增加了各个不同物品类型,作为基本类型的子类。
1.4 最后增加了Shop类,也包含自己的卖出记录。
2.使用Junit的体会
一开始我也只是觉得很烦,为了凑覆盖率一股脑的扔上去。但是后来程序出了几次BUG,我才逐渐认识到测试的重要性。尽管课程组给的测试条数十分多,但是依旧有覆盖不了的情况。一味依靠报错不能解决问题。
这时,如果能用Junit覆盖所有的情况能够保证自己代码的正确性。(实际上,后几次Debug都是自己写的数据)同时,如果想凑覆盖率的话,从Main写测试很简单,但是如果真的想测试出Bug,最好分层次写好测试代码。
3. 学习oopre的心得体会
面向过程的编程通常只是单个问题的解决,而oo则更加关注迭代和合作。
在写oopre的作业时,我学到了关注层次化管理,将一个问题层层下放到解决问题的类中,同时也(被迫)关注了自己的代码风格和注释。
但是最后对比优秀同学的代码时,我还是感觉自己写的很烂,没有人家的结构更加清楚,我想这源于最开始的结构基础没有打好。所以如果以后在学习oo时,一定要从最开始就想好代码的结构。
4. 建议
我觉得之后的课程作业都挺好的,助教的讲解也很详细。就是一开始上手有点困难(对于我这样第一次接触Java的人)。所以我希望,能够增加一两次课程能让同学们先熟悉一下。