OO暑期学期总结

OO补给站总结

一、没通过作业的原因

第一单元

第一单元未通过的作业时homework_3,分析原因是因为自己在第二次作业中完全没用到面对对象的思想,使得函数求导的数据存储与求导操作全部集中在一个类当中,没有实现结构上的层次化,进而在第三次作业当中发现面对错误格式判断以及复合求导时极度复杂而难以继续构架。具体而言自己在第二次作业中是将格式检查、数据读入与存储、函数求导、结果化简等这些功能划分给各个类,没有拆分各类因子并实现相应的求导方法,在不重构代码并还想继续此基础上想完成第三次作业的难度可想而知,这也最终导致自己到作业截止依旧无法完全实现函数求导的功能。

第四单元

第四单元作业没通过的原因还是在于自己没将数据层次与结构给弄清,自己一心追求方法的实现但是完全没在数据的存储上下功夫,结果适得其反,结果表明在第四单元依旧用HashMap以及ArrayList来简单的存储数据是行不通的,这会导致每写一个方法都需要重新构建数据之间的关系,出去代码冗长不说效率也是极其低下,最终也就导致第四单元的惨败了。

二、作业改进

第一单元第三次作业

在结构上参考了指导书所给出的的建议,建立一个Factor类并实现构造以及求导两个方法,再按照表达式规则实现各个因子类比如幂函数因子、三角函数因子、表达式因子以及项因子,在此基础上实现各个因子的秋求导方法即可。

本次作业最大的难点其实就在于代码结构的设计,只要按照指导书上说得来其实也就完成了一半,对于面对对象的新手而言这种结构设计可能确实完全异于面对过程的设计思路,但是毫无疑问这种设计恰恰是最便于程序员理解并去实现的。

 

 

 

 

第四单元第三次作业

第四单元作业自己吸取了之前没过的原因,重视数据存储的重要性。实现了Myclass、MyInterface、MyStateMachine以及MyInteraction这几个类来分别存储类、结构、状态机以及顺序图的相关信息,在用这些类去实现作业所要求实现的几个接口。

还有就是第十五次作业的结构规则检查,其实在实现了之前作业的基础上也不算是难点了,主要就是R002、R003等考查了一下图算法,其余的规则大部分可以直接遍历得出结果。

 

 

 

三、收获和进步

在两次作业的完成过程中自己以才算对面对对象的的设计有了初步认识,同时在历尽艰辛之后终于战胜了自己之前没通过的作业的喜悦其实就是本这次课程带给自己最大的收获了。

四、对补给站的建议

暂无。

五、心得体会

在完成了补给站的几次作业后自己还依旧觉得自己对面对对象的理解程度大大的不够,而这两次作业实际上就是帮自己更加清晰的认识自己。除了对面对对象理解不深,自己一直忽略的代码中数据结构这一块成了自己最大的软肋,好的数据存储方式实际上会成倍的提高代码运行效率,这也是自己在之后的学习过程中需要着重加强的地方。

 

 

 

posted @ 2020-08-21 20:28  明天星期六  阅读(164)  评论(0编辑  收藏  举报