BUAA-2023-OOpre课程总结

BUAA-2023-OOpre课程总结

架构设计

在这里插入图片描述

  • Adventurer类用来实现冒险者的一系列行为,比如使用药瓶、购买和卖出等操作

  • Bottle类、Equipment类以及Food类是相对于Adventurer类较低一级的类,这三个类别都由冒险者类统观,符合现实逻辑,便于进行相关操作

  • Commodity是用来连接Adventurer类、Bottle类、Equipment类以及Food类的接口。设计原因是因为这四种类都能够成为价值体。从我的思考角度来看,接口其实也是有某种联系的类组成的一种类别,具有简化和提升效率的作用,能够帮助实现更加复杂的设计

  • RecoverBottle,RegularBottle和ReinforcedBottle是Bottle类的子类

  • CritBottle,EpicBottle和RegularBottle是Equipment类的子类

  • Market类运用了单例模式

  • Log类是比Adventurer类低一个层级的类,受到冒险者类的管理,每个人都有属于自己的战斗日志,同时还有一个属于冒险者数组的总体日志,用来顺序记录发生的事件

  • R类是用于辅助管理代码风格的类

使用junit的心得体会

从第二次作业开始,junit就进入了我们的视野。一开始我不太清楚什么是junit,在仔细阅读教程以及请教同学之后,我才明白junit是用来发现bug的好帮手。一开始编写测试只是单纯为了提高覆盖率,直到有一次发现期望输出与自己的真实输出有差别的时候,我才意识到自己程序中存在的问题。在不断编写测试和查看覆盖率的过程中,其实也是在一遍一遍检查自己的代码并反思自己有没有疏漏的地方。在后续作业中开始进行分支覆盖的测试之后,我才发现自己编写的很多数据太过简单,导致很多分支都没有被覆盖。虽然编写测试的过程并不容易,不仅需要前后关联,还需要思考每种方法里一些独特的方法,但是这确实是编写正确代码过程中不可缺少的一步。测试永远是编程的好伙伴,以后希望我能够更加灵活有效地使用junit,弄清junit的工作原理,从而提高自己发现和修改bug的能力。

学习oopre的心得与体会

刚开始接触到oopre课程的时候,老师介绍到这是一门和面向过程差别很大的课程。当时比较糊涂,没有搞懂面向过程和面向对象到底有多大的区别。直到慢慢了解了面向过程和面向对象的特点,我才逐渐对这门课程有了认识。比如我们大一学习的C语言就是面向过程进行编程的。我看到CSDN上有一篇文章说到:“面向过程更加符合人类的思考逻辑,但是不得不承认面向对象编程有时候显得更聪明、更高效。”面向对象中通过不同的类别定义了不同的对象,通过对每个对象的操作完成整个编程过程,将某一对象的属性以及能够执行的方法封装到一起,从而达到了一种“高内聚,低耦合”的效果,显得整个程序简洁高效,逻辑更加清晰。通过oopre,我也认识到了java语言的高级,oo一定是成长路上十分重要的一环,我一定要努力学习oo正课,提高自己的能力。

对oopre课程的建议

oopre课程从某种程度上减轻了我们学习oo正课的负担,降低了学习oo的门槛,是一门非常好的课程。老师在授课过程中经常会讲述一些宏观的思路和方向,这也很有利于我们的学习。但是作为一个java小白,过多宏观的认知确实无法尽数吸收。如果能够多讲解一些实例和细节,并和宏观的讲解相结合,我相信将更有利于选择oopre的同学的学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值