OO第一单元总结
写在开头:因笔者能力有限,分析不够到位,知识不够全面,本文可能纰漏颇多,指导意义不强,见谅! 第一次作业 这相当于是第一次做大型一点的oo作业,面向对象的思想很不成熟( 当然现在也是一样 ),我的代码仅仅停留在面向过程的层面,采取的是“一main到底”的方法,改了好多次好不容易改过了,互测还被砍了好多刀( 我太难了 ),以下是我的写法、想法,一点小经验,也可以说是大家的 错误示范 ,希望不要跟我这样写,不然后面的作业会很痛苦,甚至会gg的。 第一次作业要实现的是高中很熟悉的多项式的求导,当然手算很简单,但是怎么用代码来表示呢,这考察了我们的动手能力以及抽象能力,其实我刚看到这个题,脑子里想的就是一种面向过程的想法,也就是与C语言类似,我可以只写一个Main,然后在里面把所有功能都实现,比如先解析多项式,把项全都提取出来,存到数组里,最后进行求导之后再按顺序输出,看似没有问题,但是写出来后肯定性能会很差,也会被大佬一个测试数据就崩掉,题目要求缩小数据长度,那么怎样缩小数据长度呢?可以通过新建一个Term类,来保存我们应该有的信息,比如指数和系数等,在这个类里面实现每个类应该具备的功能,比如求导,那么如此一来,我们在Main里面就只需要先解析表达式,把多项式分成若干项,再把他们实例化为一个Term对象,存到对应的比较好用的数据结构Hashmap里面,这样,我们可以实现指数相同的项的合并