Java初尝和PTA三次作业的小总结

前言

  刚开始学习Java时,还未摆脱C语言那一套面向过程的编程方式。见到问题还是比较喜欢用什么函数或者方法实现功能就好了,也并未去考虑其复用性、耦合度等等这些。学习了Java三周后,对面向对象渐渐有些概念。知道了何谓类与类的关联性,何谓方法重载、方法重写,何谓方法的复用性,及敏捷开发等等。

作业过程的总结

       第一次作业主要是对老师所教授的变量类型和private等关键字的使用。我想目的在于让我们逐渐去了解Java的神秘面纱。题目并不难,还是C语言那样直白的输入输出。但却也更增添了几分熟悉的味道。至此我还没有由面向过程开发转向面向对象编程,不管是思路还是写法还是类似于C那样的直白。虽说有类的概念,但依旧还是为了切合main方法给所有下面写的方法加上了static。这一举措也为我在后面的学习中给予了警示。第二次作业主要是求解年月日判断闰年那些,这次作业也为第三次作业的登场埋下了伏笔,第二次作业的类与类之间的关联如果设计的较好,且紧扣单一职责原则写的方法,那第三次作业将会写的比较舒畅。如果说第二次作业还未完全明白类与类的概念,那第三次作业就是UML类图的完全掌握,之后的作业也基本是根据类图来进行设计编程。由于我第二次作业的方法设计没有太贴合,方法之间黏性较高,所以第三次作业花费的时间也比前两次作业多的多。但同时我也更为深刻的掌握了类与类之间的联系的概念。第三次作业的日期设计也让我感觉到边界值的重要性,在debug调试的过程中,int最大整型值那个点一直输出与正确结果差两天。之后从头开始慢慢分析各个方法的设计,最终排除障碍,解决问题。这次debug也深深让我明白了报错得耐心分析,确保自己的思路检验无误。这样才能更好的学会编程。

OO设计心得

    对 Java 语言来说,万物皆对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计。

三大特性

 - 封装、继承、多态

    由于前三周的学习仅仅学习接触并了解了封装的概念,现先只简述下我所理解的封装。

    封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。封装的目的在于保护信息,使用它的主要优点如下:

 - 保护类中的信息,它可以阻止在外部定义的代码随意访问内部代码和数据

 - 隐藏细节信息,一些不需要程序员修改和使用的信息,比如取款机中的键盘,用户只需要知道按哪个键实现什么操作就可以,至于它内部是如何运行的,用户不需要知道

 - 有助于建立各个系统之间的 松耦合 关系,提高系统的独立性。当一个系统的实现方式发生变化时,只要它的接口不变,就不会影响其他系统的使用。例如 U 盘,不管里面的存储方式怎么改变,只要 U 盘上的 USB 接口不变,就不会影响用户的正常操作

 - 提高软件的复用率,降低成本。每个系统都是一个相对独立的整体,可以在不同的环境中得到使用。例如,一个 U 盘可以在多台电脑上使用

 Java 的基本封装单位是类。Java 提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西,私有的方法数据只能通过该类的成员代码来访问。从一位架构师老师那学到,他将Java的封装概括为一句话:封装是将对象的 属性 (名词) 和 行为 (动词) 封装成一个类。

测试的理解与实践

       我常听身边的学软件的朋友开玩笑的说“我觉得我写出来的程序肯定没问题”,这句话也常被我们拿出来说笑。测试在程序开发过程中有着重要性的地位。正如有个岗位叫软件测试工程师,专门进行黑盒、白盒、灰盒测试。由于我之前自学过些web方面的知识所以老师教授测试用例的编写对我而言感觉似曾相识,有种会“友”之感。我特别倾佩目前测试驱动开发的开发方式,其主张在编码之前首先编写测试代码,这种做法会降低编码的速度。但是在整个软件开发过程中,编码所占用的时间是很少的,我们大部分的时间在调试,定位bug,修改bug。测试驱动对开发速度的提升在于,它可以减少后者的时间,从而在整体上提升开发速度。

课程收获

通过这三周的Java学习,我逐渐慢慢进入了Java这个缤纷绚烂的世界,学习这门语言的语法,规则,体会感悟其魅力所在。三次PTA作业亦是逐步将我们带到面向对象设计的这条道路中,面向对象开发模式更有利于我们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率。这三次作业给我印象最深的那便是复用性了。抽象、继承、封装 和 多态 四大特点都围绕这个核心。

对课程的建议

希望老师可以上课时现场编写一些更深入的项目工程,想了解老师在教授时面对问题的思维方式。

未来学习计划

在闲暇之余多去看看一些大佬博主们的编程开发设计思路,开拓自己的见解,提升自己面对问题时的思考、思维深度。

posted @ 2020-04-02 17:54  TheAlan  阅读(244)  评论(0)    收藏  举报