oo第四次作业

Posted huayanglou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oo第四次作业相关的知识,希望对你有一定的参考价值。

很不幸由于一些原因,前两次的作业我都没有能够提交,虽然都尽力完成了,但没有经过公测和互测的洗礼,也不知道程序写的究竟怎么样,这里我只能简单说一下程序设计的思想了

第一次作业:多项式加减

这次作业中一共写了2个类,第一个类是poly类,用来记录每一个输入的多项式。其中有两个属性coe和index,前者记录系数,后者记录指数。

第二个类是polys,用于把输入拆分为单个的多项式,构造多项式的队列。

技术分享图片

第二次作业:傻瓜电梯

按照要求设计了5个类:

elevator:电梯类,用于构造一个电梯,并且描述和记录电梯的运行状态。

request类:用于构造一个请求。

requests类:用于构造请求队列。

scheduler类:调度器类,包含schedule方法用于调度请求,和command方法用于执行请求。

floor类:用于记录楼层按钮以及每个楼层的电梯内按钮的状态。

技术分享图片

第三次作业:ALS电梯

第三次作业基本继承了第二次作业的设计,新增了一个ALS_scheduler类,继承了第二次作业中的scheduler类,其中重写了schedule方法用于捎带策略的调度。

技术分享图片

这一次作业正常提交了,但很不幸由于重写elevator类的toString方法时忘记给STILL状态的输出时间+1s,导致所有测试中的STILL输出时间都少了1,所有的公测都没有通过,所以依然是无效作业。

我挨个查看了公测用例的输出,发现除了上述输出错误以外,有几个测试用例输出还存在问题,主要问题还是在于调度算法有漏洞,schedule方法和command方法中对于电梯的状态有些情况难以同步。

最后是感想。首先,我作为一个13级的学生,还能和16级的学弟学妹们一起快乐地学习面向对象,我感到非常荣幸。oo这门课会对学生产生非常深远的影响,尽管我的编程能力小学生水平,oo还是潜移默化中使我的编程思想变成了面向对象式的编程。

以前对这门课充满了恐惧,其实最近埋头研究了一段时间,对oo还产生了浓厚的兴趣,这最后的机会我一定会好好把握。另外,自己测试时一定要仔细,修改了什么地方千万小心别漏掉什么东西,不然下场就是努力一星期变成无效作业。

以上是关于oo第四次作业的主要内容,如果未能解决你的问题,请参考以下文章

BUAA OO 第四次作业总结

OO第四次作业

OO第四次作业-对前三次作业总结

oo第四次总结

后三次OO作业小结

oo第四作业