第一阶段oo编程学习总结

【前 言】

在接触面向对象程序编程的初期阶段,对于老师布置的用以检验我们学习效果的三次小作业,我的完成情况和学习心得。

【作业过程总结】

  1. 不管多么简单或者是多么困难的学习,总是遵循着一个学习理念:循序渐进。老师对于面向对象的教学也是如此,在我们的作业上更是有所体现,从易到难,从浅到深。对于有一定编程基础,但第一次接触java编程语言的我们而言,首先应该学习和接触的自然应该是java的基础语法使用以及和c语言有所区别的地方。第一次作业也自然是关于java最基础的语法使用,例如:输入,输出等。接下来的学习中我们接触到了有点类似于c语言函数的一个东西“方法”,我们学会在java中如何调用方法,将程序的结构变得更为分明,如果有任何变动,只需要对方法进行修改就可以实现。于是在第二次作业中,题目要求我们在一个主方法中将程序分解为多个子方法。然后我们开始接触到java与c最大的区别就是在于其是以面向对象为主要核心的,学习到很重要一个内容“类”。在第三次作业中,我们学着去不仅仅局限于在单一类中编写程序,把一个物体,一件事物的属性和方法单独放在一个类中,好便于其他程序可以同时对一类事物进行属性的改变和方法的调用。
  2. 基于之前有过c语言学习,所以我们对于面向过程的编程并不陌生,而面向对象编程却是我们未曾涉及的领域。在最初的作业中,相对容易的题目,通过一个主方法就可以实现。而在第二次作业题目变得复杂一点,也规定了我们要用多个方法去实现,这也是更便于更改和分装的。第三次作业,题目不再像之前两次一样是单一事物,而是由多个事物组成,每个事物又有他自己的属性和对应的方法,于是采用多个类对同一事物进行封装,从这种角度出发,讲题目分解为多个对象,而不去考虑每个对象中具体的实现方法,从面向过程转变为了面向对象。
  3. 因为作业很多时候碰到的操作和思想都是要先于老师讲解的,所以更考验的是我们的自我学习和自我思考、理解能力。经常会遇见的问题一般是某些部分在java中的表达,这和我自身对java还不是那么熟悉有关,通过网络搜索和自我消化就可以解决。
  4. 作业完成:debug=4:6
  5. 之前经常会对变量的诠释过于随意,用诸如单个字母来代表某个变量,这样导致的结果是在第一次打代码的时候分的还算清楚,可过了一段时间回过头来看自己的代码却是一头雾水,这样不严谨的取名严重损害了代码的可读性。

【OO设计心得】

  1. 面向对象是相对宏观的,装修卧室,卧室里面需要床、桌子、衣柜..

   而面向过程是细节的,床的构成、桌子的构成..

  1. 面向对象设计相当于我只专注房间的基本组成,而不用去细究具体的材质。设计如何运用现有的类去达到本质的目的,而不去考虑类中具体的属性、具体的方法。
  2. 以宏观的角度去分析问题,分析各个成员之间的联系和相通之处,构造类与类之间的衔接以实现程序目标。

【测试的理解与实践】

  1. 对于很多人而言,debug所花费的时间远大于敲击代码的时间。而测试正是debug所不可或缺的一环,关乎着程序能否运行,运行结果是否正确,界面的流畅等等等等。唯有测试才能让我们真正地发现代码真正的不足,通过一次次的测试,我们一次次的改进代码。未经测试的代码只是工厂刚刚打好版的样衣,样衣也许合适,也许不合适,都需要经过检测才知道,不合适的只有修修改改才能做到最好的质量。
  2. 对于测试用例,应该尽量选择的多而全面。应该对编码的每一个功能全面的测试,还有对每一个功能之间的联系、递进进行测试,测试它们的连接度和稳定性。对于任意一个功能,如果有取值范围的,要对取值范围边界进行测试、有特殊情况的,要对每一个特定情况进行测试。

【课程收获】

这四周的居家网络教学,让我有更多的时间和精力去仔细琢磨和自我思考。本来对于面向对象设计我还是秉承着之前学习的面向过程的编程的思想去做,在慢慢的学习中,我渐渐发现,这是两者截然不同的理念。慢慢的跳出的视野的局限,从焦灼于细节转变于更多的去考虑宏观的构造、联系。

【课程建议】

我更喜欢通过在一个个实例编码中教学,这样理解起来更为轻松,也更明白该如何运用。

posted @ 2020-04-02 16:39  z0209  阅读(212)  评论(0)    收藏  举报