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

0.前言

本次博客对java课程第二阶段作业的总结汇报。

1.作业过程总结

(1)总结三次作业之间的知识迭代关系

此次阶段作业主要涉及继承、多态、抽象等方面的知识,侧重点不同,由于理解能力不好,上课学的不是很扎实,所以写的很吃力。

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

封装性:通过这几次作业,我明白了所谓封装性,就是把对象的成员属性和成员方法给结合起来,形成一个特定的单位,除了对象以外的都不能去获取,还有一些属性是根本不能被获取的,这样就可以更好的保证程序的安全。

继承性:就是使子类的对象继承父类的全部属性和行为,同时可以根据用户自己意愿增添自己的所特有的属性和行为。这样可以节省写共同具有的属性和方法代码的时间,有利于代码的复用,在一些问题时使用继承方法能较好的解决问题。

多态性:多态就是同一操作(方法)作用于不同的对象时,可以有不同的解释,产生不同的执行结果在使用继承编程的时候,我们一般是把不同子类的方法分别写在不同的子类中,使用的时候用is a关键字来判断对象是哪种类型的,然后进行强制转换来使用不同对象的方法。但是,如果有多个子类的话,使用的时候难道要写多个if语句来判断对象是哪种类型这样会产生很多冗余代码,也会很繁琐。使用多态编程可以很好的解决这个问题。在父类写一个虚方法或抽象方法,子类去重写父类的方法,在调用的时候系统会根据象运行时的类型决定调用哪个方法。

(3)作业过程中遇到的问题及解决方法

正则表达式和如何使用的问题,一些问题通过在网上查找相关资料得到解决,还有许多问题到现在还没搞明白。

(4)每次作业花费的时间比例

总的来说每次作业花费的时间都较大,大概是4:2:1吧

(5)对编程过程的严谨性的认识及教训

编程过程一定要明白编程的要求或者是题目要求我们做什么,在一题中明明把问题解决了但pta上一直报错整整花了2小时的时间去找错误但是还是没能找到,最后发现只是因为格式错误,发现之后我就意识到细节的重要性,在心中提醒自己下回一定要小心再小心不能再犯这样低级的错误。

2.OO设计心得

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

封装得话就是私有得属性,但是外部又可以用getter和setter来进行访问,容易的修改类的内部实现。类与类之间具有关联关系。关联主要描述两个类之间的一般二元关系, 例如,一个百货公司类与销售员类就是一个关联,学生类与教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。当处理一个问题时,可以将一些有用的类保留下来,在遇到同样问题时拿来复用。设计软件时,使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的概率。继承性主要利用特定对象之间的共有属性。多太是指一个类的实例的相同方法在不同情况下有不同的表现形式,使具有不同内部结构的对象可以共享相同的接口,通过一个公共的类对不同的对象予以相同的调用。

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

当一个类承担了过多的职责,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当设计变化时,设计会遭受到意想不到的破坏。判断是否职责单一的方法:如果你想到多于一个动机去改变一个类,这个类就具有多于一个的职责,就应该对类进行职责分离。对于扩展是开放的,对于更改是封闭的。一个较好的实践方式是等到变化发生时立即采取行动。在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。

(3)OO编程思维的理解

要面向对象解决问题,创建对象来解决问题并设计一些属性和特有方法来解决问题,同时可以用继承,封装,多态等特性来解决问题

(4)类设计心得

尽量用面向对象的思想解决问题,用类的方法解决问题

3.测试的理解与实践

(1)测试对于编码质量的重要性

对于写出的代码尽量做下测试这样可以避免程序出错大改程序

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

可行,JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。也就是说junit就是别人写好的单元测试框架,使用此框架可以大大缩短代码的测试时间和准确度。

4.课程收获

这四周来我学到了不少知识但也发现了自己存在着许多不足,比如在一些概念问题上还是迷迷糊糊而且还有许多方法及其使用的方式不知道,所以还有很多知识有待我去进一步学习,还有就是对于编程最重要的就是要小心细心,因为稍不留神就会导致一堆错误,还有就是要看清楚编程要求有目的的去完成编程不要到最后才发现与最终目的不符或者说不符合题意。在这四周我也学到了要细心对待要解决的问题丝毫不能马虎,希望在之后的学习中能学到更多收获更多。

5.对课程的建议

(1)第三阶段作业难度、题量的建议

尽量简单一点感觉有点难,可以降低难度适当加大题量

(2)课程内容讲解方面的建议

可能自己理解能力不太行,有些时候老师讲的不是很明白,希望老师在有难度的地方多讲一下多举一些例子加深印象,最后感谢老师含辛茹苦的教育我们!

猜你喜欢

转载自www.cnblogs.com/zyhyjh/p/12820139.html
今日推荐