JavaOO第二单元作业总结

1.作业过程总结

  1)三次作业主要涉及封装,继承,多态,三次作业由简入繁,每次的侧重点不同,但始终贯彻逐渐加深三者之间的关系的原则。除此之外还涉及正则表达式,ArrayList等其他内容。

  2)三次作业,先是简单的类创立,用简洁的实例讲演抽象的封装,即将某事物的属性和行为包装到对象中,根据private,protected,public三种修饰符号对外部对象访问发i对象的属性和行为进行限制。

  之后初步加入继承的概念,同样用简单的例子进行讲演,使子类与父类的关系更加直观化。

  最后开始在程序设计中加入多态性的概念,强调多态性灵活、抽象、行为共享、代码共享的优势特点,通过实例化的例子表现多态性允许不同类的对象对同意信息做出回应,解决应用程序函数同名的问题。

 

  3)在完成作业过程中,最直观的问题就是在面对要求时,无法将抽象的理论知识实现到代码中,经常出现思路明确但实践代码时无从下手,在这种矛盾下陷入死循环。对课上涉及的其他内容一知半解,对代码的编写带来了很大的阻碍。解决方法:上网百度及询问同学。

  4)由于课程的安排,外加网课教学的特殊性,以及环境限制,完成作业的时间集中在周末接近deadline,这导致没有充足的时间发现问题,解决问题,学习经验,代码的完成度不高,完成质量不高。

 

     5)第四次作业所用时间:72h

          第五次作业所用时间:48h

         第六次作业所用时间:40h

    6)这段时间的学习让我充分认识到了理论与实践之间的差距,理论的可行性在面对实际问题经常出现或大或小的出入,仅学习理论知识却不进行平时化的练习的结果就是一知半解,无法解决问题,所以需要多进行实践。

 

2、OO设计心得

     1).面向对象包括封装·继承·多态三大特性。首先封装性体现了一个类对于私有属性的概念,继而,继承性表达了子类从父类继承相关财产的性质,而多态性更像是继承性的拓展,子类不仅是从父类那里继承了财产,他根据这些财产创造出了新的属于自己的财产,就像是一种散发的行为。

封装把客观事物封装为抽象的类,对类的数据和方法进行修饰,只让允许操作的类或对象进行操作,通过这种方式进行数据的保护,防止意外的改变和错误的使用。

继承简单的说就是让某个类型的类获得另一个类的属性和方法,是一种按级分类的概念。继承的类称为子类,被继承的叫做父类,子类可以使用父类的所有功能并可以在无需重新编写原本类的情况下对功能进行拓展。这一过程就是从一般到特殊的过程。

 

     2)单一职责原则很简明,就是指一个类的功能要单一,不能一下子包括很多功能,比卖你工作效率的降低。

开闭原则是指一个模块在拓展性的方面应该是开放的,但在更改性方面应该是封闭的。

 

    3).经过这一段时间有关OO的学习,我发现在这个世界中,万物皆对象。没有什么new一个对象解决不了的问题,如果有,那就再new一个新的对象。说起来很简单,但是其中技巧非常之多。我们的面向对象程序需要具有高内聚,低耦合的特点,具有很强的复用性和扩展性。这需要我们充分理解并且合理运用JAVA封装,继承,多态这三个特点。封装为了程序的安全性,我们代码风格也要求我们进行合理的封装。而最关键的时继承和多态。通过继承,接口,重写等操作,会大大增强我们程序的可扩展性和复用性。

 

3.测试的理解与实践

    1)在编写代码的过程中基本无法做到考虑所有情况,不然我们平时用的程序也不会有那么多bug了。我们需要在编写完成后进行测试,对格式、边界等进行细化。更值得我们注意的是,当我们出现问题后我们需要做的事。出现问题后遍历自己的代码,对错误进行更正,并对这一错误吸取经验教训,想想自己在写的时候为什么会出现问题,如果是对代码的熟悉程度不高就要加强练习与记忆,为将来代码的质量做好准备。更多时候出现的问题是逻辑问题,这是后我们首先要做的不是改代码,而是去举一反三,我之前的思路是是那么,如果运行下去会出现什么问题,我需要的解决思路是什么,为什么按照这种思路运行可以避免我的问题。代码的测试便是如此,一点一点夯实我们的编码,提高它的质量。

 

    2)假设使用Junit进行程序的测试,junit功能可以对代码的模块与功能进行测试,可以进行单个测试,也可以进行批量测试。

 

4.课程收获

经过这一段时间的学习,我认识到了OO需要开放而灵活的思维,以及坚实的知识基础,任何投机取巧的行为都会收到负面影响,在学习过程中的懈怠,代价便是面对课题是的手足无措,焦头烂额。踏踏实实略显无聊的学习,换来的是面对问题的自信与顺畅。这段时间的学习使我收获良多,我明白了对待代码要严谨,不能掉以轻心。对于类的使用要慎重,要分得清使用方法,不能错用,乱用。在学习OO时,不要受OP的影响。

 

5.对课程的建议

   1)对于第三阶段的作业我希望可以多出现一些基础题。

        多将一些样例。

   2)可以多讲些例题,多扩展些知识点

posted @ 2020-04-28 16:46  Qpdy  阅读(86)  评论(0)    收藏  举报