OO第二单元(5-8周)作业总结要求

0.前言

  不知不觉,java课程已经结束了,这已经是是第二个月了。本次第二单元的博客总结主要针对pta中的第四、五、六次作业的相关知识总结。

1.作业过程总结

  ①这三次作业主要的知识点就是面向对象的封装性、继承性与多态性。其中穿插了正则表达式以及接口的相关知识。通过第四次较简单的类的继承与多态,到第五次第一题多态的更高级的应用,以及第二题加深对单一职责原则”的理解以及封装性、继承性与多态性的综合应用第六次作业的知识主要是类的接口以及抽象类的加深使用,其实按我的理解来看,抽象类以及接口也是属于面向对象的继承性与多态性的一部分。三次作业知识迭代越来越深,理解也需要更加深刻才能跟上老师的节奏,虽然中途有些许变化,但都没有离开面向对象的封装性、继承性与多态性。

  ②通过这三次作业的题目要求,按老师的作业指导书中的类图,其实很大一部分的封装性、继承性与多态性老师都先给我们了,在这个的基础上,我们只需要完善类的代码以及一些基本的功能。

  ③作业过程中对正则表达式的相关知识不够到位,无法自己写出一些好的正则表达式,而是基本上都是参考网上的正则。对面向对象的封装常常会忽略,常常没有使用get方法获取对象的属性,这是非常不好的习惯。大问题基本上没有,当然题目本身也不难,主要的问题还是存在在细节的一些处理。

   比如这个问题:

   ④作业花费的时间基本上在一天作业,如果没有碰恶心的测试点,不过很多测试点基本也不难,只是自己的方法以及方向没搞对,我对自己的花费的时间还是比较满意的,不会使用很长的时间。

  ⑤对编程需要考虑到整体的布局,不能为了一点点的小聪明就使用一些看似简单的方法,比如没有使用面向对象的原则,仅仅用一个main方法,在对水文数据检验时一开始我的想法就是如此,后面发现对细节的处理非常的麻烦,果断重写。

2.OO设计心得

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

  封装:尽可能隐藏对象的内部实现细节,控制对象的修改及访问的权限

  继承:将一个类的特征(属性)和行为(方法)给予另一个类。想要具备继承关系,必须满足is-a的关系。

  多态:父类引用指向子类对象,从而具备多种形态。

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

  单一职责原则:一个类的功能要单一,不能包罗万象,不然效率却高不起来。

       “开-闭”原则:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。如果现在要加入其他功能,那么应当在不用修改原来功能代码的前提下,就能够增加其他功能的代码。

  ③OO编程思维的理解

  面向对象将事物都看成对象,将具有相同特征的实物看作类。通过对类与对象的继承,封装,多态的实现,完成模拟现实从而解决问题。

  ④类设计心得

  在做题过程中有如下心得

  1、一个类的功能尽量不要太繁杂

  2、类名/方法名的名称要可以体现其职责

  3、保证数据的私有性(private)

3.测试的理解与实践

  ①只有通过了测试的代码才是一个至少可行的代码,如果一些基本能的测试都过不了那就不是一个好代码。在编程过程中,基本上都时边测试边写,这样才能确保之前写的代码没有问题。

  ②Junit非常实用,对代码的测试提供了一个很好的方法,但是说实话我还不是很会用只会简单的变量值的测试,以后的编码过程中得加强Junit得使用,方便测试代码。

4.课程收获

  这四周以来,初步学习到了面向对象的封装性、继承性与多态性,很多的接口,抽象方法的知识都是基于这三大特性而衍生出来的,初步认识面向对象的基本思想以及编码的方式。

5.对课程的建议

  ①作业量一般,还算可以接受。按以前的量就行。加分题的加分方式挺好,但是测试点需要多弄几个呀,就一个测试点还是固定输出的直接一个print就可以解决啊,如果老师没有人工查代码的话,50ms都可以完成。哈哈

  ②课程内容似乎有时候讲解的太少,有时候后面一节课基本上都给我们写课堂作业,其实我觉得课堂作业课后写就行,没必要在课堂上大家写,希望老师可以多讲解一些知识。

猜你喜欢

转载自www.cnblogs.com/hedachun/p/12813199.html
今日推荐