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

0.前言

  回顾前四周,对Java有了更深入的学习,本次博客是对JAVA5-8周的作业进行总结。

1.作业过程总结

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

  三次作业主要涉及继承、多态、抽象等方面的知识,侧重点不同,由于基础不好,概念不是很好理解,所以学起来比较吃力。

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

 通过几次作业,我大概理解了三大技术特性。封装就是把属性和行为合起来,继承是将两个类关联在一起,子类可以直接用父类,也可以重写父类。多态是建立在继承的基础上的,一个父类对象可以产生多个不同的子类对象,根据这些子类对象的不同可以具备不同的方法。

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

 正则表达式和如何去掉空格的问题,一些问题通过和同学讨论得到解决,还有一些问题现在也有点懵。

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

时间用的还。。挺平均的(因为中途经常被别的事打扰,所以花费的时间都比较散)。主要还是第四次花费的时间是三次作业时间最长的,而且分数也不高,后两次的时间相对来说没有第四次作业时间长,逐次减少。

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

写编程时要逻辑清晰,考虑周全,重点还有要严谨啊。比上次少了一些低级错误,主要还是写不出。。 小问题虽然少了,但还是有还需要更仔细一点。剩下的问题可能就是不会写了吧。。

2.OO设计心得

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

三大特性分别是封装性、继承性、多态性。

封装性:封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易地操作此数据结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的可维护性。

继承性:类与类之间具有关联关系。关联主要描述两个类之间的一般二元关系, 例如,一个百货公司类与销售员类就是一个关联,学生类与教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。当处理一个问题时,可以将一些有用的类保留下来,在遇到同样问题时拿来复用。设计软件时,使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的概率。继承性主要利用特定对象之间的共有属性。

多态性:将父类对象应用子 类的特征就是多态。多态性允许以统一的风格编写程序, 以处理种类繁多的已存在的类及相关类。该统风格 可以由父类来实现,根据父类统- 风格的处理,可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样就降低了维护的难度,节省了时间。在多态机制中,比抽象类更方便的方式是将抽象类定义为接口。由抽象方法组成的集合就是接口。

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

单一职责原则:一个对象只包含单一的职责,并且该职责被完整地封装在一个类中。单一职责原则就是每个类只担任一个职责,即每个类只有一个引起它变化的原因。

开-闭原则:对扩展开放,对修改关闭。遵守开闭原则,其稳定性和可扩展性比较强。

③OO编程思维的理解

类和对象是最基本的两个概念。在设计时,要具有封装性、继承性、多态性,还有如何画出UML图。

④类设计心得

类的设计一定要做到单一职责原则和开闭原则,符合题目要求,使程序具有更好的可复用性。

3.测试的理解与实践

①测试对于编码质量的重要性

测试对代码来说是十分重要的,测试可以检查测试点。通过测试不仅可以改bug,还可以检测代码是否正确,功能是否实现。pta的测试点是很好的提示,通过不断修改,代码的质量也提高了。

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

Junit是xUnit的一个子集,xUnit是一套基于测试驱动开发的测试框架。JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。

4.课程收获

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

通过这四周的学习,我对面向对象的三大技术特性之间的关系产生了深入的理解,并且建立了类的概念,这些都帮我更快的解决问题。同时也能更好地理解面向对象设计的基本原则(单一职责原则和开-闭原则)。相比第一阶段的学习,这一阶段的学习要更难,需要花费更多的时间,所以也要更认真才行。

5.对课程的建议

①第三阶段作业难度、题量的建议

第三阶段应该会更难吧,还是希望能和第二阶段差不多的题量和难度。因为第三阶段很多课都开始了实验,任务量更多了,所以希望题目能够难易结合,题量适中,才能保证做题质量。

②课程内容讲解方面的建议

希望老师能多举些例子,让我们能更深入理解Java的概念,单讲知识的话有点抽象,不大好懂。

6.对下一阶段学习安排

下一阶段的学习难度会上升,所以要花更多的时间学习,还要认真的完成作业,认真听课,慕课上的课也要记得看,不能总是忘啊。还要调整状态,第二阶段的学习状态不好,要快点恢复啊。还有写作业的时候要专心一点,不能总被别的事分心。

posted @ 2020-05-01 10:23  起个啥好名字呢  阅读(112)  评论(0)    收藏  举报