第三阶段也是最后的一个阶段。
一、作业过程总结
最后一个阶段的学习,我们所学的java也已经将一些基本的知识学完了,所以我们最后一个阶段的作业也是更加侧重于设计,老师布置的作业没有像之前一样给出UML图,而是让我们自己按照自己的思路来设计UML图。这个要求可能在代码方面没有那么高,但是对于面向对象思想方面的要求无疑是大大地提升了。也正因为侧重点的不同,我们这最后一个阶段的作业,相较与之前好像难度上整体的降低了一些,考验我们的不是敲代码的能力而是设计的能力。每次作业花费时间的比例差不多是1:1:1吧。
二、OO设计心得
经过了一个学期比较系统化的学习,OO思想对于我来说,不再是一个陌生的词语。它对我而言,是一个阶段的学习的成果,是我一生之中学习的一个小的目的地。OO设计,不过于6个原则。单一职责、开放封闭、里氏替换、依赖倒置、接口隔离、迪米特法则。这六个原则之中,我感受最深的应该是单一职责。这在我们的练习和老师上课所列举的例子中,是最有表现力的。一个类一个职责,而不是一个类多个职责。一类一职责,会让我们的程序看起来结构更加清晰,也非常符合我们思路,很好地展现我们的思考过程。一类多职责,这样可能会显得我们的代码十分的冗长,而且复用性很低,只要要求随便变化一下,我们可能就得重新写过大部分甚至是所有的代码,这就使得我们每次在面临一个新问题的时候都得从头到尾重新写过一份全新的代码,不好套用我们之前所写过的代码来解决新问题。
三、测试的理解与实践
测试对于程序的重要性,我想只要接触过编程的人都应该知道。一个程序怎样算完成了呢?如果只是结果正确,其中的算法和思想与所面临的问题一点关系都没有,那么这个程序肯定是不合格的。就好比要解决2*3等于多少,答案很简单是6,那么我们有很多种方法可以得到6这个结果,有的程序是用加法算出来的6,有的用减法,还有的用除法,这些都有可能可以得到6这个数字,但是这些程序是符合我们要求的吗,显然,这并不符合我们的要求。这个时候,测试的重要性就得以体现。程序的测试,跟我们日常所使用的很多产品测试我想应该是大同小异的。首先你得测试主要功能是否完全和正确,其次最好可以让用户更加方便和舒适地使用产品,多多站在用户的角度考虑问题。我们程序的测试也是如此,最基本的要求就是可以解决我们所面临的问题,其次就是可以让更多的用户更好地使用我们的程序,即便是对于编程一窍不通的人也可以使用。
四、课程收获
经过了一个学期的学习,java这门课程的收获还是很大的。从一开始的什么都不懂,完全套用之前学习C的思想去看待问题,到现在的自己设计UML图来解决问题。这些种种,不论大小,我想都是自己的一些进步和成长。在学习的过程中也有过很多的不如意,比如一些很基本的问题总是出现纰漏,一些基本的用法也会用错,所幸的是我还是坚持了下来,如今,虽然不能说小有所成,但是一些简单的问题也是可以很快的有思路并且能够实现。有思路和实现我觉得又是两码事,有思路只是代表有了一种解决问题的方法,但是一些你想要的功能或许java不能实现,必须要自己去写一个类来实现。你思路中所要用到的java中的功能,你只是想到要用那个知识,至于会不会用,在思考的时候我们是不会去想的,所以在我们写代码的时候,又得自己去查阅资料,自己去理解,最后再自己去实现。最后的一个阶段,我通过几次的练习,也是搞懂了接口类与抽象类的使用,可以说两者很相似。抽象类中我们所定义的抽象方法,在子类中必须要重载,这是抽象类的基本规则。在课程的最后,我们也学到了java中制作界面和动画的一个工具,javafx,这又让我产生了比较浓厚的兴趣,因为这个东西所实现的功能是可以实实在在的展现出来,可以让我们更好的去理解和体会。也许是因为我们所学只是入门,很基础,所以会觉得简单而又有趣。
就这样,我们一个学期的Java学习就结束了,但我想我们将来如果从事这一方面的工作,如今我们所学到的肯定是远远不够的,我们只有更加深入地学习,在工作中不断地学习才能够赶得上当今java的变化。所以说,学无止境不是没有道理的。
五、对课程的建议
最后一个阶段了,我们提出的建议应该是老师给其他班级上课所提的吧。上课的时候,可以多给我们展示一下代码的实现,还有一些需要注意的地方,遇到相似的讲解一下区别,重要的内容可以多举例子。
原文:https://www.cnblogs.com/istaywithyou/p/13047658.html