前言:关于此次三次作业,相比于前3次难度着实高了一个档次,第五次作业,虽然对于工具类没有很高。但是第一题的复杂程度很高,对于正则表达式有很高的要求,需要使用很多正则表达式的方法,而且不能有一处错误,对代码的质量要求很高。而在第六次和第七次作业中,就需要使用工具类了,还有链表的处理,在链表的处理上,出现了多种工具类,对链表进行处理。还有链表本身,就只是一种类,在传入数据和传出数据的过程中,就需要一点方法。同时,在第六次作业中,仍然需要使用正则表达式,而且要求也不低。

过程总结:在第五次作业中,首先涉及到继承,在第五次作业中,需要对继承使用,图形的继承是一个很好的例子,让因为,这个很容易理解,并且对于每一个图形,他们本身的固有属性,都是对一个图形的描述,给了这些数据,一个类也就基本确定了是什么样子。第五次作业中,最难的应该是正则表达式,这个对于一个人的思维要求很高,突出了一个问题,设计性。如果你想要有这个思维,需要经过不断的练习,这个就需要时间练习了。而在第六次作业中,主要的难点还是在于正则表达式,与第五次不同,这次还需要使用工具类。工具类的目的是为了修改数据,而正则表达式的使用是一个判定方法。正确判断后,就需要使用工具类进行修改,最后输出。第六次作业,在图形的继承,增加了多态,让继承的方法增加了难度。在第六次作业中,就出现了链表,也就是arrarylistJava中的链表,相对于C语言中,更加简单,但是是两种不同的格式,可能Java中的链表与数组有几分相似,但是里面储存的数据类型并不相同。添加方面,这个类具有自身的方法,还有很多方法,是这个类本身具有的。三次作业之间的知识迭代关系上,第五次作业更加偏向于认识,面对对象中的许多技术,对于使用上面的要求,并没有后两次高,但是代码量并不比后两次小。后两次作业在类的使用上,具有更高度要求,有继承,有工具类的使用,有类的多态,相比于第五次,具有更复杂的代码。这几次作业中涉及的正则表达式,是C语言中没有的。也是个很好用的类,但是如果是设计匹配器的话,还是有一点难度的。对于面向对象的封装性、继承性与多态性三大技术特性对象的封装性,就是把对象的属性,行为进行封装,载体是类,一个类,也就约是一个对象,对于每一个对象都进行封装,让每一个对象具有自己本身的属性,这样更加利于设计,在往后的软件设计中,对象对应一个软件的功能,让对象封装,就是让软件的每一个功能独立,使得他们的功能不会相互影响。在对象的继承上,具有很多种继承方法,有直接继承和间接继承,一般情况下,不会采用直接继承,而是采用间接继承,因为如果直接继承,在日后对代码的修改上,父类代码的修改,会严重影响到子类。从而加大了软件的维护成本,最好采用间接继承,实现低耦合。这样,如果父类代码被修改,子类代码也不需要修改很多,从而降低维护成本。多态性的使用,就需要使用抽象类了,在多态性的使用上,父类与子类之间,不具有很大的联系,因为父类会被定义为抽象类,在对父类方法的使用上,只有父类方法在子类经过重写,才可以使用。这样使得父类的方法,能够在不同子类中发挥不同的作用。并且,也利于以后代码的维护,只需要修改子类,不需要修改父类。在问题上,第五次作业中,正则表达式,是一个很头疼的问题,因为正则表达式的固定模板很少,很多需要自行设计。后来通过一定的资料文献,完成匹配器的设计。在图形的继承上,不需要很大的设计。第六次作业中,同样是在正则表达式,出现很多问题,同样通过查找设计模式,完成匹配器的设计。在第六次作业中,就需要使用arrarylist了。链表的使用,需要很多的方法,在刚开始时,出现了很多问题,后来通过问同学,完成部分代码设计。这几次作业花费的时间,相比于前几次,可能翻了一倍,特别是最后一次作业,花费了很久的时间也没有写出来。第五次和第六次作业中,只有一题比较难写,其他题目还是能够拿到满分的。如果算的话,至少需要两个下午两个晚上。对于这次编程发现了自己很多的问题,比如说工具类的使用,还有链表的使用,还有正则表达式的使用,这些都是我没有克服的大问题,还有很多小问题需要自己慢慢学习修改。我知道,如果没有把现在的知识学熟,学到后面,问题会越变越多。我需要一段时间对以前的知识进行复习,不然后面就步步维艰了。

oo设计心得:封装性,继承性,多态性三大技术让不同的类在实现自身功能的同时,对其他类不会造成很大的影响,同时,在功能的继承上,也不会出现错乱。三大技术特性之间的功能相互补充,相互适应最后形成一个完整的软件系统,在系统内,所有的功能都可以实现,并且不同的功能在使用上,不会出现相互排斥或者相互关联的状况,这样,不仅仅利于用户的使用,也利于软件员工的维修。对于oo编程思维,这个具有完整的体系,三大技术,让oo编程思维更加成熟,在采用oo编程时,遵循三大特性进行编程,可以在减少时间复杂度的同时,提高编程效率。

测试的理解与实践在代码开始复杂后,如果没有测试,就会出现编程人员同样想不到的问题,如果是民用软件还只是经济的损失,如果是军用软件出现问题,后果将不堪设想,具有代码的测试,让软件具有更高的可行性和信任性。

对课程的建议:第三阶段作业难度、题量的建议建议减少难度增加题量,让知识有一个循序渐进的过程。课程内容讲解方面的建议希望对arrarylist这个类进行更加详细的讲述,因为这个链表很重要。

版权声明:本文为wu15原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wu15/p/12814865.html