社区
2026年北航面向对象设计与构造
作业提交
帖子详情
OOpre课程总结
刘梦琨-24231215
2025-11-06 18:09:45
OOpre课程总结
整体说明
最终架构
类关系说明
核心类说明
Command类:根据命令解析的数组,完成对应的指令。
Lexer类: 词法分析类,用于解析lr指令中传入的语句
Factory类: 工厂类,用于创建正确的类别对象
Adventurer类: 冒险者类,包含冒险者的基本属性和冒险者对应的方法
迭代过程:
第一次迭代:题目中引入背包的概念,通过引入了Item父类和Use接口进行管理,从而实现对背包和可用物品的管理。
第二次迭代:题目中引入更加具体的武器类别和金钱管理系统。由于类的数量的急剧增加,通过引入Factory工厂类,来进行创建。由于Bottle同时实现了Use接口和继承Item,整个代码过于冗杂,所以删除了Use接口,在Adventurer类中创建了两个ArrayList分别用来存放Bottle和Spell。
第三次迭代:题目中引入雇佣关系。在Adventurer类中引入employer和使用ArrayList来管理被雇佣的人。这一次指令特别的繁琐,为了通过checkstyle,需要在command类中不断地细化指令。
第四次迭代:使用Lexer类进行词法解析即可。
junit使用感想
使用junit进行单元测试初上手的时候感觉十分的麻烦,为了提高分支覆盖率和行覆盖率可能要写非常多的测试。但是这段时间的OO练习过程中,代码问题主要是有两个。一个是没有能够完全理解题目的意思,或者是遗落题目中的某种情况,这种问题主要是通过与同学的讨论来解决。二是代码未能实现对应的功能,像循环提前结束等等。遇到这种情况时,junit测试就至关重要了。最好在一边实现功能时一边写junit测试,保证对应的功能都能实现。
_
OOpre心得体会
面向对象中,我认为最重要的能力是抽象。在这整个的OOpre过程中也是体会到了抽象的重要性。如何提取出共同点从而实现更好的管理。比如在实现Bottle的使用时,可以抽象为adventurer属性的改变,所以不需要再单独地去实现useBottle这个方法。面向对象的开发思想要求我们在编程时要更加注重对象的创建和使用,代码的编写围绕着对象来实现。
建议
课下的测试点建议都给出,方便进行测试。
...全文
36
回复
打赏
收藏
OOpre课程总结
OOpre课程总结 整体说明 最终架构 类关系说明 核心类说明 Command类:根据命令解析的数组,完成对应的指令。 Lexer类: 词法分析类,用于解析lr指令中传入的语句 Factory类: 工厂类,用于创建正确的类别对象 Adventurer
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
北京航空航天大学2024年秋季学期面向对象设计与构造先导
课程
实践项目_基于Java语言的冒险游戏设计与实现_面向对象编程思想实践与教学演示_包含类设计继承多态接口实现设计模式.zip
北京航空航天大学(北航)2024年秋季学期的先导
课程
实践项目,致力于让学生通过设计和实现一个基于Java语言的冒险游戏,来深入理解和掌握面向对象编程的思想。该项目不仅是一次编程练习,更是一次教学演示,展示了...
2023 BUAA
OOP
re
课程
总结
OOP
re
课程
总结
2023BUAA-
OOp
re
课程
总结
OOp
re
课程
总结
北航
oop
re
课程
总结
反思
北航
oop
re
课程
总结
反思
BUAA 2023秋-
oop
re
课程
总结
BUAA 2023秋-
oop
re
课程
总结
2026年北航面向对象设计与构造
271
社区成员
241
社区内容
发帖
与我相关
我的任务
2026年北航面向对象设计与构造
2026年北航面向对象设计与构造
复制链接
扫一扫
分享
社区描述
2026年北航面向对象设计与构造
java
高校
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章