第二单元作业总结

0.前言

第二单元主要需要运用到面向对象的封装性、继承性与多态性三大技术。第二单元的作业难度明显大于第一单元,但通过这一单元的学习,才真正了解到面向对象相对与面向过程的优势之处。第一次作业有一定难度,比如第一题,在思考的时候完全没有头绪,应该是做题以来遇到的最难的题,接下来的两题用类与继承的知识可完成。第二次作业虽然只有两题,但难度却非常大,第一题用继承与多态的知识可完成,第二题未完成。第三次作业也是勉强完成。

  1. 作业过程总结

①总结三次作业之间的知识迭代关系

这三次作业主要需要用到类,继承,多态等面向对象的知识点,第一次作业第二题需写出返回坐标,矩形长宽大小,圆半径和处理传递值等类,再写出用蒙特卡洛求圆周率的方法即可完成,第三题需写出图形与继承图形的圆,矩形,球体,立方体的类,再分别写出求表面积与体积的方法即可完成。第二次作业第一题需写出抽象类shape与继承类circle,rectangle,triangle,再写出求表面积与体积的方法完成,这一次作业也同样需要灵活运用到类与继承等知识。第三次作业的前两题有些类似,都是有关图形排序分组的问题,也需要灵活运用类,继承,多态等知识来完成。总而言之,作业难度逐渐加大,且每一次的作业都需要运用到前几次作业的知识点,难度较大的问题还需要运用新的知识来解决。
②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性

在完成每一次的作业过程中,遇到问题能及时到网络上查阅资料进行学习,并通过网上的学习加强对每一个知识点的吸收
③作业过程中遇到的问题及解决方法

第一次作业求圆周率用到的蒙特卡罗方法有些难理解,在通过网上的查找以及对指导书的理解才慢慢理解本题的真正含义。第二次作业第一题首次遇到多态,只通过老师的讲解有些难理解,但最后通过观看一些有关视频,才将该知识“吃透”
④每次作业花费的时间比例

1:1:1

⑤对编程过程的严谨性的认识及教训

认识:在编程过程中,一定要以严谨的态度对待每一道题。

教训:不能放过每一个可能出错的点。

  1. OO设计心得
    ①对面向对象三大技术特性之间关系的理解

封装对象:并非是将整个对象完全包裹起来,而是根据具体的需要,设置使用者访问的权限。

继承:继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能

多态:对象可以表示多个类型【如果A类(新类,也叫派生类)继承了B类(父类,也叫基类),那个A 类就有两个有效类型:新类(自己)的类型和它继承的类(父类)的类型】的能力称为多态性。对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。
②OO编程思维的理解

面向对象的三大要素:封装,继承,多态。oo编程思维是主要以这三大要素为主的思想。
③类设计心得

类的设计包括一下几点:

①类的继承,java只支持单根继承,不允许多重继承,子类继承了父类,就继承了父类的方法和属性,在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。

②访问控制,private,default,protected,public。

③方法的重写,覆盖

在子类中可以根据需要对从父类中继承来的方法进行改造-----覆盖方法(方法的重置、重写),在程序执行时,子类的方法将覆盖父类的方法。覆盖方法必须与被覆盖方法具有相同的方法名称、参数列表和返回值类型。覆盖方法不能使用比被覆盖方法更严格的访问权限。

④super关键字

在Java类中使用super来引用父类的成分

---super可用于访问父类中定义的属性

---super可用于调用父类中定义的成员方法

---super可用于在子类构造方法中调用父类的构造方法

---super的追溯不仅限于直接父类

⑤多态性

1)多态——在Java中,子类的对象可以替代父类的对象使用

2)一个变量只能有一种确定的数据类型

3)一个引用类型变量可能指向(引用)多种不同类型的对象

4)一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法

3.测试的理解与实践
①测试对于编码质量的重要性

软件测试的目的和意义在于发现程序中的错误,确认编码的质量。一方面是确认程序做了你所期望的事情,另一方面是确认程序以正确的方式来做了这个事件;
②查阅资料,假设使用Junit进行程序的测试是否可行

可行,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。

4.课程收获
总结这四周来在OO方面的教训及收获

收获:通过这三次的作业,我认识到逻辑严谨性十分重要;主要体现在很多题不能得到满分,很多时候容易因为一个小小的错误导致整段代码发生编译错误。

教训:以后在编写代码的过程中一点要有耐心,注意每一个变量的变化,更要多花时间理解。
5.对课程的建议
①第三阶段作业难度、题量的建议

难度:希望第三阶段的作业难度能降低一些,题量可以适度增加一些。
②课程内容讲解方面的建议

还是希望老师能在作业完成之后能对题目进行详细的讲解,也希望老师能加强对一些比较细的知识点的讲解。

posted @ 2020-05-02 12:15  19201415  阅读(186)  评论(0)    收藏  举报