JAVA第二阶段学习总结

0.前言
这个阶段的作业完成情况不是很好,应该说挺差的。有一些应该写出来的代码却没有写出来,导致分数都很低。


1.作业过程总结
①总结三次作业之间的知识迭代关系;

第一次作业主要内容是类的继承,多态,以及正则表达式的运用。第二次作业则是对第一次的加强,主要也还是类的继承,多态,正则表达式的运用,只是难度跟第一次差不多;第三次作业在类的继承,多态的基础上,加上了接口的运用。以及CardList<>排序功能等等。


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

作业中的圆,三角形,矩形等类互不影响,都要继承图形类,就体现了类的封装与继承性,而多态主要体现在第三题上,对接口的运用等。

 

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

常见问题是拼写错误,少了括号等,这些错误编译器就会自己提醒;更多的错误是逻辑错误,比如传值的过程中少了哪一步,数据看起来好像传进去了,但是运行却没有得到结果;还有代码在eclipse里按照例子输出了正确的结果,可是放到PTA里就一个点都过不了,这种情况很难找到解决办法。


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

第一次和第三次作业花费的时间最长,主要花在写正则表达式和对类排序上;第二次作业花费的时间最少,但也是花了较长时间,主要花在正则表达式的匹配,得到系数和指数,还有分别的情况上。


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

编程严谨应该是从一开始就有的,如果在一开始写代码的时候就不细心,后面只会花大量时间寻找错误,可能是拼写有问题,符合中英文,或者是参数没有传进去,数据传错之类的。因此写代码的时候一定要小心,不然你很可能花了大量时间却没有解决任何问题。


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

    1)  封装是面向对象编程的核心思想,也就是将对象的属性和行为封装起来,把类当载体,通常隐藏其实现的细节。这便于类的调用以及以后对该类的修改。

    2)  类的继承就是使子类的对象拥有父类的全部属性和行为,同时可以增添自己的所特有的属性和行为,这样可以节省写共同具有的属性和方法代码的时间,有利于代码的复用,这就是继承的基本思想。

    3)  多态就是一个程序中同名的多个不同方法共存的情况,通常使用方法的重载和重写来实现类的多态性。父类通常会被定义为抽象类,在抽象类中给出一个方法的标准,而不给出实现的具体过程,通过继承父类来实现。多态较依赖抽象类和接口。

 

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

  单一职责的概念是一个类应该只有一个因其他变化的因素。单一职责的优点是可以降低类的复杂度,代码易维护、易扩展、可读性强。而开闭原则就是一个模块应该对扩展开放,对修改关闭,它指导我们应建立稳定灵活的系统,便于以后代码的维护,以及增加新的功能,而要保证在此基础上修改的代码尽可能少,不用重新写原有功能的代码。


  ③OO编程思维的理解

主要是根据题目设计不同的类,子类继承父类,对子类进行细化后,再编写题目需要的方法对那么多类进行操作,分出不同的情况,给出相应的结果,例如用sort排序输出,或给出最后的结果等。


  ④类设计心得

根据题目要求给出的对象设置合理的父类(抽象类)给出共有的属性和方法,再对不同的类进行细化,方法的重写等,根据各自的属性编写不同的方法,或按照多态的思维。


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

  测试是很好的检验代码逻辑是否正确的方法。我们在写代码的过程中总是会出现各种各样的问题,如果不测试,很难做到程序没有bug,或者给出我们想要的结果。


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

  可行,并且已经进行过简单的Junit测试。


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

这个阶段已经熟练掌握了类的继承,封装,对多态也没有太大问题,主要问题还是在正则表达式的编写,ArrayList的熟练使用,sort排序,compareto接口的改写,以及对整个题目思路的把握。


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

希望第三阶段的作业能够更加侧重某个知识点,对该知识点着重训练。题目可以多一点,不会出现一个题没做出来就很难及格的情况。


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

希望老师以后能多讲讲作业,对题目的理解,如何着手,以及如何在题目的基础上拓展等。

posted @ 2020-05-02 20:08  오빠  阅读(106)  评论(0)    收藏  举报