Java学习-第二阶段总结

转眼Java学习的第二个阶段就已经结束了,本次博客主要就本阶段前三次作业情况进行以下五方面的阐述个人拙见。

1.作业过程总结

  ①三次作业之间的迭代关系:第一次作业的题有:1.水文数据的校验及处理。2.蒙特卡洛方法求圆周率。3.图形继承。这次作业主要是对Java继承内容的考察,基本都是简单的继承框架,但其中第一题水文数据的校验及处理这题设计较多的正则表达式的应用,由于之前基本没触碰过正则表达式,所此次作业过程中对这道题显得有点力不从心甚至束手无策。第二次作业的题目有:1.图形继承与多态。2.一元多项式求导。此次作业较第一次作业多考察了多态的知识内容,其中第二题一元多项式求导这一题仍然涉及正则表达式的应用。第三次作业的题有:1.图形卡片排序游戏。2.图形卡片分组游戏。3.求素数。显然,第一题和第二题有着千丝万缕的联系,都考察继承与多态,以及其他的内容如抽象类,Array List等,第三题则是老师给的福利题,但其却要求我们用不同的算法去优化程序,也算考察了我们的思维深度和广度,这作业涉及的知识内容较前两次多。和第一阶段的学习相比,整体上本阶段的内容应该是更深入一点,而从阶段里面看,两个阶段的三次作业,则都是呈现知识面递增的趋势。

通过作业对理解面向对象的封装性、继承性与多态性三大技术特性的逐步理解:显然,三次作业都是要体现面向对象的封装性的,因为本阶段每一次作业每一题基本都需要设计类,通过对应的类,将某个事物的数据属性、方法等封装起来,比如出现较多的关于图形的类设计,具体如圆形类,矩形类等。继承性同样体现在了每一次作业中,出现较多的还是关于图形的,如圆、矩形、三角形等都可以继承自图形Shape)类。而多态性在本阶段中多是通过方法重载来实现,即重新定义了派生类中的基类方法,同样拿平面图形来说,平面图形基本都有周长和面积,而不同的图形周长和面积有不同的计算方法,我们只需要在父类Shape中定义抽象方法,而后在各个子类中重写各自不同的相应的周长和面积计算方法。

作业过程中遇到的问题及解决方法:当然,在本阶段的Java学习中,同样和第一阶段一样会遇到各种不同的问题,如对抽象类的理解,对于自定数据类型的使用,经常出现的空指针问题等等一系列问题,毫不隐讳的说,对于一个Java新手,至少是对于我自己来说,每一个阶段走的每一步都是一个问题,解决的方法更多是网上百度学习,可以自嘲为面向百度的学习。

④每次作业花费的时间比例:这个阶段在作业的过程中,我的三次作业所花的时间是相差不多的,每次花的时间都比较长,虽然结果不都是很好。

个人感觉,不管是什么语言的编程,严谨都是最重要的方面之一,语法方面,对问题实例的逻辑思维方面等等,有时候一个不起眼的小问题,造成的结果可能是天差地别的,很实际的说就是,自认为的一个小错误,发现并改正了可能就是红勾勾,没发现可能就是“编译错误”,一分没有。

2.OO设计心得。

  ①对面向对象三大技术特征之间关系的理解:封装性、继承性与多态性这三大特性在我看来环环相扣又互相包含,像一个人一样,将很多器官组织封装成一个人,一个人又后代,后代继承了父辈的很多特性,但新一代的人具体的五官又和父辈有所差别,后辈越多,呈现的外貌姿态越丰富。

对面向对象设计的基本原则理解(单一职责原则及-闭”原则):对于单一原则,即每个类所具有的单一功能,如某个类负责接收和输出数据、某个类负责校验数据等等,而开-闭原则总的来说是对扩展开放、对修改封闭,这样我们写好的类功能就可以不太用频繁修改,而可以不断添加新的功能。

③OO编程思维的理解:这种面向对象的思维,可以让我们编程者在众多相似的事物中利用同一个类别,按照问题的实际要求,对以往的类属性做一些必要的改变,就可以实现一次编译,到处运行最终的便利是给到了程序员。

类设计心得:虽然目前的作业中老师给出了对于类的设计,但实际上不同的人面对同样地一件事物会有不同的看法,对于类的设计也当然会不同,巧妙地设计类可能会使程序的质量和面貌呈现较大的差异。

3.测试的理解与实践。

测试对于编码质量的重要性:个人觉得,测试还是很实用的,至少可以检测出程序的一些问题,虽然从作业的角度来说,测试这种东西就是在为难我胖虎,但这东西还就是必要的,写出来的程序,特别是参加工作的人写的程序,总得禁得起检查,质量总得过关,因为将来要面向大众的产品,总得向大众负责。近点来讲,就是我们程序在提交平台的测试,有时候在eclipse上运行地让自己很满意的程序,在平台上就是会出一些问题,比如无法编译、测试点过不了,就说明我们的程序还存在漏洞,我们对于该程序问题上的思维还不够严谨。有助于我们培养自己严谨的思维习惯。

假设使用Junit进行程序的测试是否可行:经上网查询,该方式可行。其大致做法如下:java 工程的使用方法

第一步:在你需要添加Junit的工程下,右键工程

第二步:点击configure Build Path…

第三步:点击Add Library

第四步:选中JUnit,点击Next

第五步:选中JUnit library version的版本,一般选中4

第六步:点击Finish

使用核心思想

导入JUnit的Library,并配置其版本。maven工程也是导入依赖后,也要pom.xml的properties配置JUnit的版本

原文链接:https://blog.csdn.net/qq_34626097/article/details/83214086

4.课程收获。

四周以来在OO方面的教训及收获:通过第二阶段的学习,我感受到面向对象思维及本阶段所学习的三大技术对于Java编程的中的重要性。只有程序设计中正确理解三大技术的概念,巧妙的运用三大技术才能达到便利的目的。

5.对课程的建议。

①第三阶段作业难度、题量的建议:希望难度不要跳跃式加大,循序渐进比较好,至于题量,可以根据作业难度调整。

②课程内容讲解方面的建议:希望老师可以多详讲一些作业题,让学生在常日里长久相伴的题目角度学习学习老师的一些题目的理解即问题的解决

猜你喜欢

转载自www.cnblogs.com/Zhou-L-L/p/12820418.html