OO第二单元作业总结

本次作业主要针对JAVA学习第二阶段中遇到的问题作出总结

1、 作业总结

①    学习了类的继承多态,第一次作业仅仅简单的用到了继承,较为简单,但仍遇到理不清思路的题目,第一题看上去较难,光是题目就很难有耐心提取关键信息。第二次作业,运用了继承、多态以及arraylist,虽然代码长度较长,但写起来思路清晰,运用到正则表达式学习较难。第三次作业在熟练arraylist之后,比第二次作业稍微加大了一点难度。三次作业从单一运用继承多态,到arraylist存储对象再到正则表达式,难度越来越大,但仍能找到思路。抽象类和接口的出现,感觉又让面向对象思想重了一些。不过一些题目也降低了难度,给出合适的UML图和主方法,在写代码的时候有思路。

②    封装性,每个类的成员变量修饰符都有private,增加隐秘性,其他类可以通过get和set方法调用,起到保护作用。继承性,继承使得多个存在相同属性和行为得类,抽取到一个父类中,那么其他类就不用再重新定义那些属性和行为,用构造函数调用父类构造函数。多态性,多态性大大提高了代码的复用性。

③    刚开始接触继承多态,遇到最多的问题是不知道如何调用子类方法属性,通过网上搜索,看别人的代码,逐渐熟悉。接口则较为简单一些。

④    第一次作业花费时间最多,因为继承多态还掌握得不是很牢固,类之间的调用,也是很头疼的部分。其次是第三次,第三次作业有了第二次的基础,很快就解决了。耗时最长的第二次牵扯到正则表达式,正则表达式掌握得并不太好,以至于用时很长。

⑤    每次提交PTA基本都不会一次成功,需要反复看代码,反复运行试验,找到自己逻辑不严密的地方,对于较短的代码来说,影响并不是特别大,但是达到几百行代码,有测试点过不了时候,再去试验,再去反复看代码,找问题就像大海捞针,有时候也会厌烦,甚至选择另外一种算法重新写一遍,这不仅造成了时间的浪费,也造成了信心的损失,所以在写代码过程中,随时都要保持自己的谨慎。

2、 OO设计心得

①    多态存在的必要条件是需要继承、子类重写方法、父类引用指向子类对象。封装增加保护性,限制访问权限、让自己的数据外界无法修改,多态的重写,又需要调用父类的一些属性方法,继承又使得突破了访问限制。继承、多态、封装作为面向对象三大技术特性,保证了代码得严谨性,比起C语言,大大提高了可复用性,更好得扩展、维护,便于添加新的功能。

②    单一职责原则:一个类只能发生一个变化,一个类的职责越多,可复用性就越小,因此这样能提高这个类的可复用性。开-闭原则:抽象化是开闭原则的关键,一个软件实体,其应该对扩展开放,对修改关闭。在软件发生新的需求时,对外扩展开放,大大节省工作量,扩展起来很方便。

③    第一,需要抽象化。先找到对象,再找到对象之间的关系,确定继承关系等等。其次,需要封装,想办法提高类的可复用性,秉持开闭原则,对外扩展开放,使得后期维护更便捷。

④    类的设计。首先,需要找到类与类有哪些相同的属性和行为,找到类之间的关系。其次,要明白谁继承谁,在哪里设置接口,找到最简单,最清晰的框架结构。将每个类大致需要完成的方法写出来,这个过程可能会找到更加清晰的框架,因此第二步先不去丰富每个方法。在完全确定了框架之后,才逐个丰富方法。

3、 测试的理解与实践

①    在代码没有语法错误后,面对较长的代码出现的逻辑错误用肉眼很难看出来,需要用到eclipse的Debug工具也需要相当大的工作量。因此,在合适的位置,插放一段可以用于测试的代码,运行后通过直观结果看出错误,再精细使用Debug工具,大大提高了代码可靠性以及质量。

②    可行。需要导入junit测试需要的依赖包,创建资源文件夹存储资源文件编写java文件对应的测试类,一般命名方式:Test+测试类或者测试类名+Test,junit4采用的是通过注解的方式(在方法的上面加上@).一般@Test使用最多,运行测试方法或者测试类直接在带有@Test注解的方法上上点击右键 --> run as --> JUnit Test,查看运行结果是否通过测试。

4、 课程收获

JAVA学习不能片面,只为了应付作业,有时候上网查资料作业考察的知识点,只会看看作业中一定需要用到的,相关的很多知识点,都选择了忽视,长此以往,知识面一直保持一个很狭窄的层次,没有得到提升。其次,不能止步于老师的讲课内容,应该做好提前预习以及课后复习后的自主扩展学习,才能比别人能力更强。逐渐理解了OO设计的基本原则,在写一些题目时的面向过程思想逐渐转化为面向对象思想,慢慢得从C语言过渡到JAVA。

5、 对课程的建议

①    前几次作业有时会出现一开始就给出了难度比较大的题目,难度较大能够激发我们学习的动力,这可以理解,但是也不要过于难,导致有一些失去信心,丧失斗志的感觉出现。希望作业难度可以慢慢一点点提高,不要一开始就给出特别难的题目。

②    老师上课讲课没有那么细节,需要我们在掌握老师所讲内容后,通过看书、查资料的方式才能很好的完成作业。

posted on 2020-05-02 15:15  稳111  阅读(62)  评论(0编辑  收藏  举报