jhmxiaoan

 

0.前言:    

   本次博客主要是针对Java面向对象第三阶段(9-16周)及整个Java面向对象学习过程的作业总结、反思和关于Java面向对象这门课程的感想,主要针对pta作业和上课内容为主,进行总结。

 

 

1.课堂学习和pta作业过程总结  

 

  ①对本阶段pta作业总结:

  第一次作业主要是对Java中泛型的运用,对四种图形的多个图形按面积排序,再是分类再排序,在这次作业中写得比较流畅,在排序的地方卡了一段时间,sort方法的使用还不熟练。有意思的是统计10000000以内的素数个数,要求是运行时长10000ms的限制,试了几次都是运行超时,让我对算法有了新的认识。第二次作业是雨刷程序的扩展的应用,让我对抽象类和开-闭原则的概念和应用有了更深的了解,也接触了学会了迪米特法则、合成复用原则、里氏代换原则、接口隔离原则及依赖倒转原则的使用。第三次作业中统计Java程序中关键词的出现次数的题目,对源码的处理用到了很多的正则匹配,使整个题目一下就变得简单了。

 

  ②对本学期pta作业总结:

  第一次的Java面向对象pta上的作业,开始是什么都不会写,慢慢地开始以c语言的思维来写,把全部的代码都写在main函数里,写出几题后发现与 c语言逻辑没多大的差别。慢慢地,接触了类和UML图的概念,会跟着题目给的UML图来写代码,觉得按着UML图的方法来写也不是那么困难,可以说是“按图索骥”了。在学了UML图的依赖关系、聚合关系、组合关系这些内容后,三个求日期的题目,都有着不同的UML图,采用的关系也是不一样的,我就对各自类的运用就很混乱了,类的关系搞不清楚也就不知道怎么用了。再是学习了正则表达式,几乎在后面的作业中都要用到正则表达式来判断,水文数据校验及处理对我来说是比较难得了,主要的方法是不会写的,在看了老师的讲解后又觉得每个方法的实现又是很容易的,有一种豁然开朗的感觉。后面的一元多项式求导题目和统计Java程序中关键字出现的次数的题目,还有表达式求值题目都是有正则表达式的初步检验,这几个题目做下来,有的题目做得好,也有的题目做得不好,String类的题目做得很多,每次处理起来也是很头疼的。

 

2.Java面向对象课程总结

 

  ①初步接触Java面向对象这门课,就对这门课的考核要求非常清晰了。以前总听同学说大作业是很难的,但都是有点怕的。但一次次作业做下来,学的东西越来越多,一次次的运用,一次次的熟练,也就慢慢地适应了。

 

  对我来说,这门课程的第一阶段应该是懵懂阶段,在第一次作业开始后,面对题目我连怎么开始动手都不知道,可能是我没有好好对待吧。后来发现我对Java的基本语法并不了解,可能是线上上课,我在这门课上投的时间不够,导致我在入门时就比别人差了一些。在看了一些程序的例子后,发现Java与之前学的c语言语法相差不多,多试几次也就慢慢回了。

 

  Pta上的前几次作业都让我以为与c语言没什么区别,都是main里写了全部的代码,或是调用其他方法,都是在一个类里的。随着多个类的使用越来越多,类之间的关系和它们之间的调用越来越熟悉,才发现java与c语言的差别越来越大。这也才有了我对面向对象与面向过程之间的区别的理解了。

  面向过程着重于问题的实现,针对实现问题的步骤一步步来实现编程,一个问题一个程序,按照怎样解决当前问题的思路来设计解决办法,对于相似的问题又要重新设计,显得麻烦,不够灵活。而面向对象是考虑的是把问题一个个步骤细化,一个类实现一小部分整体的功能,每个类里的每个功能都由一个方法来实现,分析问题最细化,实现问题时把一个个功能整合起来,在检查或出错时能够具体到每个功能,修正也能更快速。面向对象相对于面向过程来说,复用性更强,相同的功能可以在不同的程序中使用该段程序,而不用再写一段一样或类似的,这是它的好处之一。

 

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

 

  ①封装

  Java中的封装是指一个类把自己内部的实现细节进行隐藏,只暴露一些对外的接口来与外界产生联系。把属性定义为私有的,它们通过setter和getter方法来对属性的值进行设定和获取。封装主要是用来对外部隐藏具体的实现细节,有增加程序的安全性的作用

  ②继承

  Java中的继承是指在一个父类的基础上在构建一个子类,子类可以拥有父类的成员变量以及成员方法。继承的作用就是能提高代码的复用性。子类拥有父类中的一些属性和方法,它可以访问和使用父类中的非私有成员变量,以及重写父类中的非私有成员方法。

  ③多态

  多态就是指多种状态,就是说当一个操作在不同的对象时,会产生不同的结果。

 

  关于抽象和接口:

 

  抽象类是通过把类或者类中的方法声明为abstract来表示一个类是抽象类,继承抽象类的关键字为extends,被声明为抽象的方法不能包含方法体,抽象类的子类为父类中所有抽象方法的具体实现,否则也是抽象类。接口中所有的方法都是抽象的,接口内只有定义,不能有方法的实现,可以通过接口来间接的实现多重继承,通过关键字interface声明,实现接口的关键字为implements。 接口强调特定功能的实现,而抽象类强调所属关系。

 

  在课程的最后也学了一些JavaFX用户界面的运用,对javaFX的运用也不多,对界面内容的处理 还不够熟悉。

 

  在这门课程中,学到了Java面向对象的很多思想和“开-闭”原则,单一职责原则等原则,对面向对象三大技术特性封装,继承与多态三者之间关系有了更深的理解,慢慢地也学会了在每一次的作业程序中运用它们,也越来越熟练。对Java面向对象的兴趣也越来越大了。

 

 

 

分类:

技术点:

相关文章:

  • 2021-11-07
  • 2021-12-01
  • 2022-12-23
猜你喜欢
  • 2021-11-19
  • 2022-01-13
  • 2021-06-24
  • 2021-12-05
  • 2021-06-25
  • 2021-06-27
  • 2021-12-01
相关资源
相似解决方案