面向对象第一次总结

 

第一次作业

类图:

 

复杂度(使用Metrics):

 

设计思路:

入口是Main类,在Polynomial中有生成列表、合并同类项等等方法。

优缺点:

功能性和性能较为完善,但是没有领会面向对象的思想,导致程序框架比较难看。

分析自己程序的bug:

第一次作业没有Bug。

分析自己发现别人程序bug所采用的策略:

手写对拍器,自动化寻找bug,发现错误时输出。

 

第二次作业

类图:

复杂度:

 设计思路:

不同功能放在不同类,Deri求导,Mono分解等等……但是没有继承和多态。

分析自己程序的bug:

在化简时,对List进行remove操作,但是没想到其调用了对象的equal方法,true则remove,而我重写了equal,因此删除了错误的对象。

第三次作业

类图:

复杂度:

设计思路:

建立表达式树,加、乘法、三角函数设为Operat的子类,形成继承关系。使用了重载、重写方法。

由于使用递归,导致复杂度较高。

未发现bug。

总结:

这三次作业让我有了完成较复杂项目的经验,也是OO思想的一次学习,让我受益匪浅。

学习其他同学的代码也是一项有意思的工作,非常有意义。

关于重构,应该结合Interface来重构,更好地诠释OO的含义。

原文地址:https://www.cnblogs.com/kidogucb/p/10587251.html