Java学习总结

Java学习总结

前言

到现在为止第一次作业周期已经完成,三次作业都已经按时按量细致的完成了,已经初步掌握了面向对象思想,对于Java学习过程中的主要内容与概念也基本掌握。以下是对最近一段时间学习的总结

一、作业过程总结

  到目前为止,Java的学习已经过去了四周,过去的四周我们一共有三次PTA上面的作业。第一次作业我们仅仅是做一些简单的循环,选择操作来解决一些问题。这个时候我们只是熟悉一下JAVA的语法规则,我们的思想还挺留在C语言关于解决问题的思想上,我甚至觉得Java仅仅是和C语言在语法规则的不同而以。第二次作业在现在看来,其实是把一个程序的每一个小类拆出来让我们完成,依然还是用面向过程的思想来设计程序。在这么长时间的学习以及作业的帮助下,直到第三次作业,我才真正感觉到面向对象的思想究竟是怎么样的,对类的设计也不再同以前一样,从这三次作业一步一步向前递进来使我们逐步从面向过程走向面向对象。

  在完成这三次作业的过程中我的完成时间在逐步的减少,我正慢慢变得熟悉

 

 

 

 

   同时经过这么长的时间我也从新对编写程序时候的严谨有了新的认识,有时候仅仅是>>=号的区别就能让我浪费很多的时间,所以在编写程序之前一定要先构建一下自己的程序需要哪些对象,对象的类有哪些,类中又包含了哪些属性与方法,最终还要在编写程序是打起精神,尽量不出错

 

   而在作业的过程中想当然的犯了许许多多的错误,有些能够通过自我检查解决,而大多数只能求助于第三方

 

 

 

 

   而当面对这些问题的时候我就会求助于百度等一些搜索引擎,还有一些专业社区例如CSDN和博客园,在里面针对自己的问题寻找答案。

二、面向对象设计心得

(一)面向过程的思想和面向对象的思想

面向对象 (Object Oriented,OO) 的思想对软件开发相当重要,它的概念和应用甚至已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD 技术、人工智能等领域。面向对象是一种 对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

面向过程 (Procedure Oriented) 是一种 以过程为中心 的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是 封装、继承、类。

 

简单来说,以打车为例,面向过程坐车需要考虑司机是谁,车速多快,走哪一条路。

而面向对象坐车仅需要把自己的需求告诉司机,剩下的一切都交给司机。当面对一个问 题的时候,面向对象的关键不在于解决问题的具体的方法,而是将具体的问题抽象成一 个一个的对象,对象里包含了哪些类,类里面有哪些属性与方法,类与类之间是什么样 的关系。

 

(二)面向对象的编程思维理解

面向对象有一句话是说:万物皆对象。所有具体的现实问题都能够从中抽象出对象,面向对象的思想是更符合人的思考习惯。

当人在看待问题时,首先看到的是一个个对象,当人看到一个冰箱的时候,冰箱就是一个对象,这个对象有自己的属性与方法。我想洗一件衣服,我只给了冰箱脏衣服与能源,剩下的一切都是对象在完成。我每想解决一个具体的问题:做饭、洗衣服、看电视,我只要去找到具备我所需功能的对象:电饭煲、洗衣机。如果没有这样的对象:电视机,那就需要我们去创造一个这样的对象:买一个电视机,这样能够简化开发步骤并且提高重复利用率。面向对象主要有三大特征:封装,继承与多态,我们目前只学到继承。

(三)面向对象中类与对象设计的理解

 

 

  在Java中引入了对象和类的概念,对象和类是分不开的,必须先定义类才能有对象。类是对具有相同属性与方法,能够进行相同操作的对象的一个抽象出来的集合,而对象是类的一个具体实例。比如人类,人这个类具有怎么样的属性,什么样的对象可以称作一个人,作为一个人应该有怎么样的行为特征,把这些抽象出来就是人这个类,同时包含了这个类的一些属性与方法。但是这个人类只是存在于我们脑子里一个我们基于观察分析抽象出来的一个概念,这个概念需要一个具体的实际存在的例子,这样的例子就是一个对象。所以我们在编写程序的时候首先就是抽象出对象与类,而不是一步一步的解决问题,那是面向过程而不是面向对象了。

 

 

 

 

 

 

三、测试的理解与实践

测试对于编码质量与编码的效率的重要性不言而喻,测试的主要目的主要是尽早尽快的发现编码的逻辑错误,以减少后期修复与维护的成本。而且测试一定要伴随着代码编写而同时进行,以避免船大头难调的难题,同时也是为了让程序员对自己代码的功能与不足进行更直观的认识,以利于后期的开发。

在设计测试用例的时候,要知道测试的主要目的就是发现错误,所以应该在科学的思想下竭力设计能暴露程序错误的测试用例,尽量从偏门,易出现逻辑错误的方向发掘,同时追求高效性,用尽量少的测试用例去检测更多的错误,一个好的测试用例极有可能发现尚未发现的错误。

四、课程收获

通过这段时间的学习,我接触到了面向过程的思想,学习了这种全新的编程思想对于自己的提升很大。对象,类,属性,方法,封装,继承等等的学习更是让我获益匪浅,同时逐渐迭代的作业同样充分的锻炼了我。我也初步掌握了面向对象的编程思想,对于以后的学习也充满信心,希望我以后能够对面向对象思想的理解逐渐加深。

五、课程建议

希望以后的学习中能够更多的以例子为载体,讲解具体的问题,阐述复杂的概念。

 

 

 

 

posted @ 2020-04-04 17:22  没钱拜神  阅读(412)  评论(0)    收藏  举报