关于在练习面向对象时遇到的一些问题总结

关于在练习面向对象的习题时遇到的一些问题

关于在练习面向对象时遇到的一些问题总结

学习一段时间啦,这两天开始用之前学习到的关于面向对象的知识尝试着完成了一次练习,练习题目如图:在这里插入图片描述

程序结构

在编写的时候尝试着用MVC的思想对代码进行了分类(如下图所示),其中bean中是用来存放快递对象的二维数组;dao包是关于实现功能时涉及到数据使用的代码;main包中是用来实现调度功能的代码;user中是关于使用者使用其对应功能的代码,分为管理员(快递员)和普通用户;views包中是关于展现给用户的所有视图。
代码的分层结构
问题一:快递录入
问题描述:在管理员进行录入快递的时候,本应该提示录入成功或失败,但是却再次让我们录入快递。在这里插入图片描述
检查后发现问题所在:
1:调用方法错误。判断单号是否存在时调用ExpressDao中的findByNum方法应该传入的是一个String类型的单号,使用e.getExpressNum()才对。在这里插入图片描述
2:主菜单选项没有放到循环中,因此用户无法返回主菜单。
在这里插入图片描述
修改之后,管理员录入快递的功能可以正常运行。
在这里插入图片描述
问题二:取件
问题描述:用户在取件的时候,不管输入的是什么内容,系统都提示取件码不存在。
这是提示用户输入的方法:在这里插入图片描述
这是取件的方法:在这里插入图片描述
多次检查发现存入和取出的代码都没有问题,请教之后才发现原来问题不是出在方法上,而是在别的地方。
如下图所示,这是在管理员类中的初始化:在这里插入图片描述
这是在用户类中的初始化:
在这里插入图片描述
如上,我在Admin类和Users类中分别新建了一个ExpressDao对象,这两个对象操作的不是同一个数组,那我在Admin中存入的数据在Users中自然也无法进行访问和使用。修改方法:选择留下Admin中的dao对象,将其权限改为public,再在users中调用这个对象进行数据操作:
在这里插入图片描述
在这里插入图片描述
修改之后,程序运行成功:
在这里插入图片描述
总结:
在编写这段程序的过程中,遇到的问题还有不少,比如说equals的使用不规范导致报错、没有处理异常抛出、逻辑层次思考不完善等,但结果还算差强人意。仅以此篇记录这次练习中犯的易错点,提醒自己以后多关注这方面的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值