oopre第八次作业

张金涛-22373311 学生 2023-11-08 23:02:02

目录

1.作业最终的架构设计, 在迭代中的架构调整

2.使用junit的心得体会

3.学习oopre的心得体会

4. 对oopre课程的简单建议

 

1.

MainClass:程序入口,负责处理输入输出,创建各类Hashmap,同时兼顾处理战斗日志部分。
Adventurer:冒险者类,最大的类,有关冒险者的方法基本在该类中实现。同时兼顾处理雇佣与被雇佣,Hashset实现。

Bag:背包里,用于实现携带与拥有的区分。
Food:用于实现与食物有关的方法。
Store:单例模式,实现商店向冒险者交易的方法。
Bottle:药水瓶类,下置子类:RegularBottle、RecoverBottle和ReinforceBottle。
Equipment:装备类, 下置子类:RegularEquipment、EpicEquipment和CritEquipment。

定义接口如下:
Commodity:价值体接口,实现获得价值体价格,种类和ID的方法。

迭代中的架构变化:

(1)不断在MainClass中添加指令,同时将战斗日志归入其中。

(2)在相应类中不断实现指令。

反思:

1.MainClass类没有弹至demon类,导致主方法大于60行。

2.没有添加雇佣类,不利于迭代。

3.战斗日志没有作为一个单独的类,代码风格不好。

 

2.

一开始觉得很麻烦。但是在代码量不断加大后,junit作用逐步开始体现,有效帮助debug。

3.

在Java程序开发中,我逐渐感受到面向对象的含义。从一开始C语言的思维定式中不断抽离,不再觉得封装和隐秘是多余的,而是深刻体会到通过方法调用实现各个类之间交流的特别。

4.

程序开发可以采用递进式。大部分同学都是首次接触java,语法不通。所以7次开发的开发量可以由少到多的积累,尤其是降低第一次作业的开发量。

...全文
21 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

303

社区成员

发帖
与我相关
我的任务
社区描述
2023年北航面向对象设计与构造
学习 高校
社区管理员
  • YannaZhang
  • CajZella
  • C_ecelia
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧