ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

面向对象程序设计课程总结

2020-05-31 16:08:33  阅读:199  来源: 互联网

标签:Java 程序 学习 面向对象 课程 程序设计


  因为疫情的缘故,一眨眼的功夫,这个学期就已经临近尾声了。此学期的课程也都由于这场不可避免的灾害而受到影响,我们的学习也由以往的线下互动教学,变成了长达三四个月的网课教学。这自然是有利有弊的,利的一面是,我们可以更为轻松地学习,可以将一些线下学习所必须的出行等琐碎时间全部省去,更为自如的分配自己所有的时间;弊的一面是,因为仅是通过网络相连,老师无法真正地考察到同学们的学习进展,无法切实的了解到学生们的学习困惑。而同学们也因为这些原因,在进行网上教学的同时,更重要的是自己的自学效率,这也是对自己自学能力的一种检验。

  自从进入大学,接触了解了程序编程的入门知识,对编程就有了浓厚的兴趣,兴趣是最好的老师。有了这名“老师”,即使在学习过程中碰到过很多困难,也能努力克服。大一开设了C语言学习,这是一门面向过程的语言,不过那时的我还没能了解过什么事面向过程和面向对象,直到这个学期我开始学习了面向对象程序设计。这正是一个学习中的递进关系,由局部到整体。

  刚开始学习这门课程,我并没有一个面向对象程序设计的概念,我只当是在学习一门新的编程语言。Java算是我学习的第二门语言,却也可以看出编程语言之间的的很多的相似性和更多的差异性。万事开头难,在经历了大一初次学习编程语言艰难的理解之路后,Java的语法又与C语言语法挺类似,这一次的进阶学习也就相对轻松了一点点,至少一些基础语法理解方面的是这样的。

  前两次作业还是在以面向过程的理念去教学,以我们最熟悉也最擅长的过程思想先去适应Java这门语言,在一个类中通过构造方法,仅用一个类去实现一些最简单基础的功能,这时的我还认为Java与C并无大区别;紧接着的几次作业,题目更为复杂,也逐渐开始给出类图,从模仿做起,根据类图去模仿去构造,理解了类中的属性方法,了解了不同类之间的联系,慢慢感受到了两种语言之间的区别;在最后几次作业,开始更多样的去接触Java的的封装、继承、多态,尝试自己去设计类图,去以面向对象的思路逻辑去设计类图,分析和设计类与类之间的关联。

  渐渐地在一次次大作业练习中,老师逐渐过渡的教学中,自己也体会到了他们之间最大、最本质的区别:C语言是最接近硬件的,是注重程序运作“过程”和程序与硬件如何结合的语言;而Java却是相对远离硬件的,只需专注于面向对象,专注于功能逻辑的开发设计。不管是学习哪一种语言,都要以这个语言自身的特点去做文章,这也是这门课程会选择以Java去教学的主要原因吧。面向对象程序设计首先要让我们理解和贯彻的是这种面向对象的设计思想,我们不再是去考虑桌子椅子是由木头怎么构成的,而是去宏观的思考桌子椅子是怎么组成一间房子的,更多的是去作为一个组装设计师,而不是元件设计师。

      Java具有封装性和继承性,这使得在Java中,只要是你能想到的功能,它都可以找得到相应的“包”,其中有它自己的各种各样的类与方法。在Java中一切皆为对象,我们需要做的不是去构建对象,而是将这一个个现成的对象编织成一张网,利用它们自我属性所特有的方法相互贯穿调用,去搭建我们所需要实现的功能。

  为了提高程序的独立性和复用性,在进行面向对象程序设计的时候,我们需要遵从一些必要的基本原则,它们所带来的好处也是我在实践过程中深有体会到的。例如最基础也是最重要的“单一职责原则”,指的是一个类最好只有一个职责可以使其改变,其实就是一个类只专注于一件事。职责变得单一了,这样提高了类的独立性和可扩展性。如果我要设计一个狼吃羊,羊吃草的程序,仅将“吃”这一个动作作为一个职责一个类,那么不管写什么有关“吃”这个动作的程序,都可以反复的只调用这一个类,在其基础上去做拓展来适配自己的程序,这不就是提升了类的可覆用可拓展性嘛。开闭原则也是我自己在写代码时深有感触的,它指的是对修改关闭,对拓展开放。在程序设计中,我们经常会面临一些功能的修改和拓展,这时我们需要在已有程序上面进行“更新”,由于Java语言继承关系的特性,子类会继承父类的属性和方法,在我们想要更改功能的时候,最好是去拓展子类,而并不去修改父类,这就是开闭原则。还是那个“吃”的动作,我想在这个基础上新增加一个“喝”,如果我直接将“吃”这个类修改,那么这个“吃”类的所有子类都会受到影响,那样的维护工作太大了,所以是不可行的,正确的操作应该是继承此类然后做拓展。面向程序设计还有很多应该遵守的原则,不过我的接触还不深,在以后的学习中也许会更为理解。

  在这为期一个学期的学习中,加上这次一共做了三次课程Plog,自己在写的过程中思考和感受到的成长是最多的。从一开始懵懵懂懂的不太理解,到现在能理解一些理念的东西了,虽然也还只是接触了一些皮毛。思路由一开始的照葫芦画瓢,变得可以自己思考和设计。对于程序的设计,由一开始完全的平面构思,慢慢的立起来了,变得更加的立体,有自己的层次结构。

  一门课程的结束就是下一门课程的开始,老师能教的是有限的,自己的探索学习是无限的,学习是伴随一生的事情。 

标签:Java,程序,学习,面向对象,课程,程序设计
来源: https://www.cnblogs.com/zyh00/p/13019355.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有