就这个学期面向对象设计的总结

一、 前言:该板块主要是讲述本学期pta作业的情况

个人觉得作业设计比较合理,前面几次让我们先了解Java语言的基础,中期时让我们知道面向对象程序设计和面向过程程序设计的主要区别,后期时就是主要锻炼面向对象的编程思想和Java语言的特征。

二、 作业总结

1) 本学期的前几个阶段的作业已经在前几次博客中提及到了,这个版块主要是讲后期的几次作业。这几次作业主要分为1、掌握类的继承,多态性的使用方法以及接口的应用,2、Java语言的复用性等等。题目有雨刷器,求一段程序中关键字出现的次数,一个简单的加法器等等。

2) 对我个人来说,我觉得我在这几次作业的考验中对Java对面向对象编程的思想有了更进一步的理解,这几次作业中对Java的字符串衍生类型,对Java的栈,对Java的复用性有了更进一步的了解。在这几次作业中个人觉得统计关键词的大作业难度最大

 

 

在这次作业中碰到了许多的问题,怎么把这段代码给分开,怎么查找,怎么跳过字符串中的关键字,怎么区分两种注释和代码的区别等等,花的时间最多的还是怎么将这个给分开,但是收获和困难是成正比的,你在这次作业中越多的不会,学到的东西就越多。比如在这次作业中,我使用LinkHashMap来存储字符串,对这个Java的数据结构也有了很好的练习和运用,知道了更多的这方面的知识,还对Java的正则表达式有了更近一步的认识,还使用了StringBulider类型来存储代码,对这个Java的字符串数组类型也有了很好的认识和运用实践。

3) 在这几次大作业中花费的时间上,第一次大作业虽然题目较后面的几次作业多了,但是他的难易程度却低于后面的几次作业,第二次大作业是让我们在老师上课讲的例题雨刷器的基础上扩展内容,由于老师上课也讲了这个过程,所以这次作业花费的时间也不多,第三次大作业题目就一道但是我觉得他是这几次大作业中难度最大的一道,在这里我也遇到了很多的问题,花费的时间很长。第四次大作业让我们设计一个简单的运算器,由于做这个大作业的时候事情较多,所以写的断断续续,花费了很多的没必要的时间。花费时间算中等吧,假如这几次作业的总和是10,则这几次作业花费的时间比是2:1:4:3

4) 在这几次的大作业中也了解到了Java语言的几个特性,在Java中编程是面向修改关闭,面向扩展开放,这就是所谓的开闭原则,在这个原则的基础上,对雨刷器的扩展的设计就更加的清楚了一些,单一职责的原则也更加的深入了我的编程思维中,通过这几次的大作业也更加能够了解到面向对象设计在针对一些复杂问题上对于面向过程的优越性。

5) 这整个学期中编程的严谨性就一直要贯穿下去,一个大作业中在编程过程中严谨性是必须的,pta上的测试点都是特定的数据的,所以无论是在作业中还是练习中编程的严谨性都是至关重要的,这关系到你能不能更加高效的完成这个任务。

三、 设计心得

在这个学期中对于编程的设计思想,虽然这个学期学的是面向对象的设计语言,但是我觉得在面向对象的设计思想中有些也能够被运用到面向过程的编程中,例如单一职责等等,在这个学期的学习中对我的编程能力有了很大的提升,在这几次的大作业中,我也有一些设计心得,例如继承使用起来比组合使用起来更加的复杂,在同等情况下,组合更加简单的能够实现。在面向对象编程的过程中有些问题可能汇比面向对象来的更加复杂,比如这次大作业中的设计雨刷,如果采用面向过程编程的思想来实现的话,就是几个简单的if,else链就直接完事了,但是采用面向对象的编程思维来说,那就复杂了,需要设计几个类,设计很多的方法。虽然在前期面向对象比面向过程更加复杂点,但是万一就比如说这次的雨刷器的设计,你现在用了面向过程去实现这个雨刷器,万一以后客户在这个基础上再添加一个功能或者调整他们的结构,这样的话面向过程的编程就远远比不上面向对象了,面向对象就有一个原则,开闭原则,面向修改关闭,面向扩展打开。在这个学期的学习中,还对Java的强大有了一定的了解,在Java中很多功能Java自己就能帮你实现,这极大的减少了程序员的工作量,就像这次的运算器作业,需要用到,栈数据结构,用到出栈,入栈,这两个功能Java自带就给你写好了,但是在上个学期的C的数据结构中,都需要自己写。

四、 类的设计心得

在类的设计上,我觉得面对一个问题时需要考虑的长远点,考虑这个问题将来有没有可能能够扩展,所以我觉得在类的设计上,我们可以设计一个超类,然后再考虑这个问题需要那种的类,类中有什么方法都可以自己设计,超类中只含有几个基本的方法。当这个问题扩展空间不算大的话,我们可以采取组合的方式来解决问题,这比继承简单点,实现起来也没有那么麻烦。

五、 课程收获

在这个学期面向对象设计语言中,获得的最大的收获就是基本掌握了Java语言的基础语法,能够利用Java解决和开发相对简单的问题,在这个学期的学习中,对自己编程能力的提升也是有很大的帮助,开阔了自己的编程思维。虽然下一学年不需要学习面向对象的知识,但是我还是会去继续学习这些的,觉得Java更适合解决生活中的实际问题。

六、 课程建议

对于这门课程的建议,个人觉得实践的机会还是太少了,在课堂上学习到的基础知识不多,基本自学。希望老师在上课前能够提前讲好这节课我们需要学习的内容,让我们有针对性的预习。希望Java课程在以后开办的越来越好。

 

posted @ 2020-06-04 23:01  不想当咸鱼啊  阅读(228)  评论(0)    收藏  举报