19201405-祖晨阳-Java第二阶段总结报告

1.前言:

     本次博客对应的主要是Java第二阶段的三次作业,涉及到的知识主要有面向对象的三个特性,分别为封装性 多态性 和继承性。除此之外还有正则表达式等知识

。比起第一阶段,这次的Java知识更加深奥,作业题目也更加复杂,难度有很大提升。

2.作业过程总结

     (1)总结三次作业之间的知识迭代关系

             第五次作业分别是 水文数据校验及处理  蒙特卡罗方法求圆周率 及 图形继承,第六次作业是 图形继承与多态和一元多项式求导,第七次作业是 图形卡片排序游戏 图形卡片分组游戏和求素数;这三次作业考察的内容由简单到复杂。第五次主要考察类的继承和正则表达式的运用;第六次主要考察类的继承、多态性及其使用方法;第七次主要考察类的继承、多态性使用方法以及接口的应用。其中第七次作业与前两次有较大区别,出现了接口的应用。三次作业对于知识的考察逐步加深,层层递进。有相似的地方,也有很大区别。

       (2)  如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性

            对象的封装性主要是从三次作业中逐步了解到的,三次作业都涉及到了封装性的意义。然后关于继承性和多态性,要先明白继承后,才能理解多态。主要贯穿在6,7次作业里。封装性主要是把对象进行封装,将对象的属性设为私有的,对外提供get和set方法,其他类只能通过get和set对对象属性值进行操作。继承是发生在两个类之间,一个类继承另一个类是说这个类属于另一个类,具有另一个类的所有属性和方法,同时它还可以有另一个类不具备的方法和属性。多态是建立在继承的基础上的,一个父类对象可以产生多个不同的子类对象,根据这些子类对象的不同可以具备不同的方法,也就是说表现出了不同的形态即多态。

    (3)作业过程中遇到的问题及解决方法

             在写作业时遇到的问题主要有不知道如何使用题目中给出的方法,以及如何按照题目要求完成题目,一些关于Java的知识掌握不熟练,比如有关继承性的问题我就搞不太清楚,就很容易在写的时候卡住,或者出现编译错误,有时候代码的逻辑上也会出现问题。

              解决的方法主要是上网上查询相关的资料一些关于Java知识的资料,查找代码例子,然后自己去编一下,也会询问同学,一些关于逻辑的问题,我主要先自己思考,更改,实在想不出来会去问同学。

   (4)每次作业花费的时间比例

             第五次作业和第七次作业遇到的问题比较多,第六次相对来说好一点,所以第五次和第七次花费的时间长,第六次时间较短一些。

   (5)对编程过程的严谨性的认识及教训

            首先编程是非常注重逻辑的严谨性的,一旦忽略,代码的性质就可能发生改变,比如第六次作业的图形继承与多态,题目要求按照单个图形面积,面积总和,排序后的面积,面积总和输出,我打乱了输出顺序,导致结果错误,还不知道错在哪里了,调试了半天,才发现。

3.设计心得

 (1) 对面向对象三大技术特性之间关系的理解

            三大特性 封装 继承 多态 封装,是把对象进行封装,将对象的属性设为私有的,就是把客观事物封装成一个类,不能被外界访问。

             继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展

             多态就是在继承的继承上满足子类重写父类方法。

 (2)面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)

         单一职责就是说一个类只能有一个职责,他只能有一个发生变化的原因。开-闭原则是说这个软件不能通过修改代码进行改变,而是通过扩展进行变化。

 (3)编程思维的理解

          编程思维首先要利用还面向对象的三大元素:封装,继承,多态,然后编程之前要先构思,把类图构思出来,让一个类只能有一个职责。要理解明白类的单一职责是什么。

 (4)类设计心得

         类具有单一职责原则,类的单一职责使类更加简便,复杂程度低,提高了代码的可读性,代码也就更加简洁,也更容易修改错误。

4.测试的理解与实践

 

    (1) 测试对于编码质量的重要性

             测试可以找出你代码的漏洞和错误,查出一些你自己没注意的地方,可以保证代码的正确率和质量。

    (2)        查阅资料,假设使用Junit进行程序的测试是否可行

5.课程收获

对面向对象的三大特性更加理解和掌握,也对于正则表达式有了理解。更加熟悉了java的编程模式,提高了自己的java逻辑思维能力。

6.对课程的建议
第三阶段作业难度、题量的建议

作业难度对我来说还是感觉比较难,有些题都没有做出来,题量还好,不是很多,可以接受。
课程内容讲解方面的建议

希望老师可以多讲一些源代码,结合题目来讲接知识点,更加直观。

  

猜你喜欢

转载自www.cnblogs.com/zcy1/p/12820145.html
今日推荐