【无标题】我的oopre感悟与思考

#感悟与思考
##作业最终的架构设计, 在迭代中的架构调整及考虑
我在本学期oopre课程中最终作业的架构设计大致如下:main主类,Ad类为冒险者类,Product类为商品类,其下有Bottle(包含Regular Bottle ReinforcedBottle RecoverBottle三个子类),Equipment(包含Regularequipment CritBottle EpicBottle三个子类),Food三个子类,Factory类负责生产Product。Ad类下延伸出Bag类。商店为Shop类。战斗日志单独创建了FightLog类,延伸出单条日志Log类。Commodity为接口,包含4个实现:Ad,Bottle,Equipment,Food。
在多次迭代的过程中,我也多次增加类和修改类的内容。比方说,在引入背包时,当时对面向对象设计还不够熟悉的我仍然遵循了面向“对象”这个原则,单独创建了Bag类,并将对背包的操作方法写入其中。在引入战斗日志时,也是如此,将对每条战斗日志处理的方法写在了FightLog类中。在后期引入药水瓶、装备的各种子类别时,我则是按照教程,加入了若干个新的子类。在最后一次作业中,我应用了简单工厂模式,新增Factory类负责生产商品,由商店Shop类负责卖出。

##使用junit的心得体会
在对junit的使用过程中,我逐渐认识并感受到了它的功能。或许在一开始时,我会觉得写junit太过麻烦,但是当我在第四次作业中通过junit发现bug所在时,顿时感到眼前一亮。junit的好处便在于可以自己设计各种有可能的输入情况并写入测试中运行,从而可以根据test的输出来定位可能的问题所在。加上调试工具的辅助,可以较快较准地找出bug并修复。

##学习oopre的心得体会
学期伊始,我还是个oo小白,只会用C语言编写一些功能较为单一的程序。在刚开始学习oo时,我的想法是,这个类不就是C语言里的结构体struct吗…可随着学习的深入,我慢慢发现了面向对象编程与C语言面向过程编程的不同之处。曾经在C语言中编写的程序大多是以main函数为主函数,其他有许多函数负责完成整个过程的各个部分,从而串联起整个任务的执行。而在面向对象的编程过程中,我们要做的是根据要求抽象出不同的类,在每个类中编写其自身的属性以及方法。在main方法中,通过实例化创建某个类;在操作时,根据类的不同分别引用其对应的方法。这样的做法可以极大地提高代码的层次感,并且对封装的每个类都有保护作用。
此外,在oopre的学习过程中,我还逐渐认识到,在编写Java程序之前,需要在构建好大致思路,合理地创建出类,并思考每个类应该对应哪些方法。这样做可以有效提高编写代码时的效率,避免出现一团糟的情况。

##对oopre课程的简单建议
课程简单建议:1.希望老师能够在课堂上更细致地、更多地讲述Java的语法知识点,毕竟刚接触Java时,写起来的感觉还是十分生疏的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值