java面向对象课程总结
Posted treelfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面向对象课程总结相关的知识,希望对你有一定的参考价值。
前言:从大一下学期接触java面向对象课程,到现在java面向对象课程也是告了一段落,到这一阶段我也学了java的大部分的知识,基本的我大概已经懂了,但是在学习java面向对象这个课程中也积累了很多学习java的经验,在学习java面向对象这么课程我也学习了很多知识,所以也应该对这个课程有个好的总结,总结这么我学到了那些知识,以及对oo编程的再一次的了解和认识。
1、作业过程总结:
(1).作业知识总结:
学习java面向对象这门课程,巩固知识和实践所学知识的最重要的一步就是练一练题,写一写题,实践所学的知识,通过这几次的大作业,让我从不了解java知识,到理解java相关语法知识,同时通过作业将Java的知识联系起来,从第一阶段的大作业来说,第一阶段的大作业的三个作业来说,第一个作业主要是java的相关语法,第二个人作业在第一次作业的基础上增加了相关难度,同时也出现了java的方法使用,但是有了第一个作业的相关语法使用,第二个作业做起来有了知识的基础。第三个作业的跳转还是比较大的,使用了java的类以及方法了,总体上来说第三个作业的难度还是比较大的,但是第二个作业的然我先了解到了java相关方法的使用,同时再结合老师上课的知识,所以还是有很大的知识相连的,总的来说第一阶段大作业的知识可以用java基础语法——java编程的严谨以及规范——java初步面向对象的设计来概括;再说第二二阶段大作业,第二阶段大作业将java的继承,封装,多态的知识提出来,第一个作业主要是掌握正则表达式和初步简单的继承,第二个作业则是在第一次作业的基础上对Java的继承技术特性增加了复杂度,同时也加多态性这一技术特性,第二个作业也是有正则表达式的相关知识,进一步的巩固了正则表达式的知识内容,第三个1作业在第一个和第二个的作业基础上增加了多个类的继承,以及多态和接口,对多个类的处理增加了难度,这三个作业都体现了封装这一技术特性。总的来说这三个作业的知识迭代关系就是层层加固,可以用初学——掌握——熟练这一知识迭代关系来表示;而最后一阶段的大作业,那就是联结所学内容,对程序的严谨以及一些复杂的算法问题有了些要求,这就需要你的java类设计的好以及对需求要了解以及熟悉,所以这最后一阶段的大作业就是在锻炼你的java知识处理能力,学会自己设计类,独立的设计你的程序,这样的提升你的java设计能力。
(2).作业遇到的问题以及解决方法总结:
在这三个阶段的大作业中,我也是遇到了很多作业上的问题,其中有与正则表达式知识短缺的问题,在作业中遇到这个问题的时候,就是不断的查资料,然后不断地尝试,了解正则的的基本知识,然后在试着写出来,最后用多个测试样例测试,保证正则没有问题,关于正则的这个问题到后面越来越复杂,几乎每次作业都有用到正则表达式,所以就需要你的不断尝试;在做大作业中遇到的其他问题就是类的设计不合理以及类的处理不明确,导致程序无法写下去,面对这个问题就需要你去不断地分析和优化设计,大作业遇到的最大的问题就是知识不够,很多需要自学以及不断查阅资料,比如最近的一次用两个栈来处理以及计算表达式,这个栈的知识对于我来说可以说完全就是新知识,这一个题中有多种方法判断表达式合不合法,其中可以用正则,可以用循环遍历,也可以用栈的知识来判断........等等,再有就是表达式如何拆分了,一个运算符栈一个数据库栈,然后再进行计算,面对这种新知识,我最主要的就是差一些相关的知识来解决,所以总结解决方法就是分析加查阅资料以及触类旁通。
(3).每次写作业花费的时间:
三个阶段的作业难度我感觉第二个阶段作业的难度是最大的,第一个作业花费的时间对于我来说没有很多,可以很快的解决,但是第二阶段的大作业,我每次几乎就需要一个星期去处理作业,再到第三个阶段的大作业,由于题量变得少了,所以一般也就两天作业就可以解决。
(4).对编程过程的严谨性的认识及教训:
在编程过程中对于严谨性让我学到了不少,很多错误就是因为不严谨而导致错误,特别是书写正则表达式的时候,有些表达式有很多情况结果没有重视,最后导致修改正则表达式时候花了不少时间,还有就是就是处理输入的字符串这一方面考虑的不够,以及类的职责没有单一导致类的处理混乱。所以因为自己的不严谨导致花了很多不该花的时间,但是也给了涨了不少的教训,编程的时候一定要看清题目要求,要考虑周全要注意到题目给的比较难以关注的点,这样你才能更好的编程设计。
2、oo设计心得
第一阶段的大作业只要就是面向对象和面向过程的比较,第二阶段大作业则是java面向对象设计的三大技术特性的关系理解了,第三阶段的大作业则是java面向对象的独立设计以及算法知识了。
第一阶段的大作业理解到了面向对象与面向过程之间的区别就是面向对象是活的而面向过程则是死了,面向过程是为了单一的结果而面向对象是一个有功能需求的东西。第二阶段的大作业则是java重要的封装,继承,以及多态:这三者几乎贯彻到每一个java的程序中,而第三次阶段大作业就是java类的设计了,以及java设计类的主要原则。三个阶段的大作业的将Java的相关原则以及技术特性给实践了,总的来说,java设计程序时需要遵循单一职责和“开——闭”原则;以及设计类的时候要考虑每个类的作用,也要做到优化类的作用。
对于oo编程这个理解也是不断地增加,oo编程在我看来就是将一个东西功能化,再将这个东西所需要实现的功能给分离化,再安排不同的类去实现这些功能,再在每个类里设计如何将这个功能实现,并且始终要遵循单一原则,最后再将这些类给聚合在一些实现这个东西的全部功能,这样只要这个东西的那个功能出现了问题,那么就可以找这个问题所在的类,然后再对这个类进行修改,对于oo编程思维我理解就是首先你要知道你需要实现的功能,然后决定你要类,再给每个类提供完整的一组操作,学会使用继承来表现共同点,在使用封装和多态实现多功能化,OO编程思维在我看来就是你要尽量让设计与现实一致化,所以你要向着这个思维去设计,然后接近现实,这样你的设计就会很现实化,同时你的设计质量也是非常不错的。同时思维不要单一,要多元化。这样就可以最大化满足要求。
再有对类的设计心得,第三阶段得大作业中对于类的设计比较严格了,你需要自己设计类,自己分配类的作用,只有把每个类的作用给设计好了,你才可以将一个程序给写出来,以及实现他的功能,在类的设计上要有对于类的设计我们要做到单一职责原则,这样就可以功能的实现以及对功能的修改有很大的帮助,类的设计好坏决定你的代码拥有的功能,如果你的类设计的时候是没有太多思考的,那么在后来的修改上需要花大量的时间和代码来修改,体现了类的设计和代码的质量不高,所以设计类的时候要分析每个的功能,以及遵循单一原则和开闭原则。
3、测试的理解与实践
三个阶段的大作业将代码测试的重要性显示出来了,通过代码测试你可以优化你的代码以及对代码的质量有个很好的检测,你可以通过测试你的代码对你的代码进行相应的改动,以及减少你查找你的代码中出现的问题,同时测试可以比较两个都可以实现相同功能的代码的质量,可以测试出那个代码的运行时间长短,可以看出那个代码的存在的一些bug,我感觉测试可以让你的代码更加完美,质量更高。我们在完成单方面的设计并不会有很大的困难,但是如果我们将我们编写的代码运用广泛或者是运用生活,会出现很多问题,有些是超额运算的数据不准确而还会有些是我们时间复杂程度上会出现超时运行的现象。
4、课程收获
学习java面向对象这么课程,学习了一种新的语言java,了解了java语言的相关知识,同时也学习到了java面向对象和java面向过程的区别之处,对Java面向对象的设计原则以及设计的三大技术特性以及java类设计完善都有很大的收获,学会如何处理java面向对象遇到的类设计不够完善该如何处理,以及设计多少个类可以解决需求,类设计过程中遵循的原则要处处考虑,做到单一职责和“开——闭”原则,学习该课程让我也收获了处理面对的难题该怎么去处理,以及自己一定到多动手,平常要积累相关知识,只有积累的多,你去解决一个问题就可以有不同的思路,不至于你就掌握了一种方法而大奥是发现此种方法不通的时候无路可走,所以最大的收获就是学习到了解决困难的一些方法,以及学习到了很多的新知识。
5、对课程的建议
该课程我感觉对自己的帮助很大,对于该课程个人建议就是每次作业结束可以有个参考代码,这样可以看看其他思路,在比较自己的代码从中学到一些知识,以及老师可以说一些面向对象的程序代码,从一些代码中学习知识,我感觉也是个不错的方法,自己想一个新的知识,我感觉有点困难,如果有一些面向对象的代码,然后进行学习回增加自己的代码阅读量,以及遇到一些问题是可以有多种思路,不至于下次见到一个完全没见过得类型的就会不知道如何下手
6、对之后一阶段的学习计划:
java面向对象这个课程虽然结束了,但是在之后的一阶段我还是会不断地学习的,同时我也会看一看和这相关的知识,毕竟不学习和不看有可能会忘记一些知识。
以上是关于java面向对象课程总结的主要内容,如果未能解决你的问题,请参考以下文章
201871010126 王亚涛《面向对象程序设计(Java)》 课程学习总结
201871010114-李岩松《面向对象程序设计(java)》课程学习总结