第二阶段作业总结

0.前言
主要说明本次博客针对的作业情况

这三次作业主要是抽象、继承、多态展开的针对性作业,此博客主要用以说明本阶段一些作业及存在的问题
1.作业过程总结
①总结三次作业之间的知识迭代关系;

      这三次作业难度上递增上是和第一阶段类似 ,通过知识的堆迭,难度由简单到复杂,由继承再逐步深入到多态以及抽象类的学习,而且在第三次作业上还没过多用到继承,更多的还是上一个阶段的类的使用和理解

 

 

 难度也比后面类的继承相对简单些,也是在第二阶段第一次的作业和后面两题,有了些继承的使用,一些简单类继承的使用,也可以说是作业里我们刚接触了解类的继承,

       然后在第二次的作业里,运用到了多态的运用,同样也是在第一次作业的基础上进行的加强,难度上有点高,但是第一次作业的第一题 尤其是水文数据校验这一块,相对来说比较麻烦,

 

 

  数据校验部分是一个难点,需要用到正则表达式来匹配输入数据的格式,而且后面还有类与类之间的聚合,也正是应为这次有些难度,老师还特意让学生上台给我们再次讲解了思路,以及他的一些方法。比如

如果不用继承就会发现其实他们之间很多代码都是重复的,用了继承给他们之间建立一个关系,这样也能堆代码进行精简,看起来也不会太复杂。

而第三次作业的第一题“图形卡片排序游戏“在第二次作业第一题的基础上,还对 ArrayList泛型的应用以及Comparable接口中的CompareTo()方法及泛型的应用进行了考察;

 

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

这三大技术特性主要是通过本阶段中的作业题目逐步体会到的,通过get和set方法操作对象中的属性,Circle、Rectangle、Triangle这些图形都继承Shape这个父类,每个子类都要重写父类中的方法,在实际运行过程中调用相应的方法,也从这就体现了面向对象多态性。

③作业过程中遇到的问题及解决方法

用正则表达式检验输入数据

就是水文校验那个题目,这是个难点,后面根据问同学以及上网查询了部分资料,就能大致能懂正则表达式的方法。

④每次作业花费的时间比例

每天花时间在大约2-3小时,但是自己的效率很低,学习的很慢,相对于课程进度感觉有些跟不上,希望自己能继续努力,好好学好这门Java课
⑤对编程过程的严谨性的认识及教训

编程过程是一个严谨的过程,不容一点小错误

例如有无过多空格,以及上次作业pta要求里没加输入的一个语句,自己添加进去,虽然自己在软件上能运行出正确结果,但在pta就是不对。后来冷静下来才发现了这个小问题。但有时候,程序上的小问题可能是大问题,所以以后也要锻炼出一个严谨的思维,无论是工作还是做事,都对自己有益。


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

对于继承性我印象很深,一个类继承另一个类就是说这个类属于另一个类,具有另一个类的所有属性和方法,同时它还可以有另一个类不具备的方法和属性;相比其他两个多态性和封装性,继承性接触的时间也更久,了解的也更为深入,而多态性  则是父类与子类的关系,一个父类可以有很多子类,而且子类里面还需要重复父类中的方法,封装性就像把所有的东西都装进一个封闭的地方(private)。

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

   单一职责原则   

一个接口只负责一个功能,这一原则降低了复杂度,提高了代码的可读性


③OO编程思维的理解

任何东西都可以当作对象,对象相对于类,就是一个实例。相同特征的对象可以归类为属性。
④类设计心得


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

测试能够不断调试自己的程序,有助于提高自己编码的质量,在给自己程序改bug的同时,也能预防自己在下一次在相同地方犯错,从而能在以后的编程规避很多小问题。
②查阅资料,假设使用Junit进行程序的测试是否可行

是可行的


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

这四周来,自己对理解了面向对象三大技术特性以及单一职责原则,也相对来说掌握了一些类的继承、泛型、接口的使用,同时经过查阅询问也能掌握了正则表达式的书写


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

作业难度应当循序渐进,老师也应当多考虑一些更不上的学生的情况,例如上次的加分题就出的很好,因为考虑到了前一次作业都不是很理想而出的
②课程内容讲解方面的建议

老师讲的很好

posted @ 2020-05-02 10:37  红衣丶  阅读(128)  评论(0)    收藏  举报