OO第一单元(前四周)作业总结
0.前言
本次博客对java课程第一阶段作业进行总结汇报。
1.作业过程总结
1)第一阶段的三次作业由浅入深,先使用java的基本语句,实现纯粹功能性的程序,之后逐渐加入java特有的语句,体现java语言独特的性能,在之后引入java关于类的各种操作。
2)起初的作业纯粹是功能性的,并不能体现java语言的独特性,只是再用java语言写c语言的程序,此时是先从工具上过渡;在之后的作业中逐渐引入类的基本操作,凸显java语言中对象的重要性,让学生在心理上逐渐偏离面向过程;而第三次作业通过对同一个功能要求编写不同的程序,真正让学生过渡到面向对象的编程。
3)一开始遇到的问题大多是对java语句的不熟悉,比如声明与定义。这一问题不难解决,通过查找学习资料便可快速掌握。但之后面对的困难是由面向过程转换到面向对象,这时候主要是习惯问题,考虑问题的方式需要时间转变。为了解决这一问题,我不断复习学习笔记,观看网课,并学习优秀范例代码,从中不断吸收经验,从而一点点解决问题。
4)如果把时间划作十份,这三次作业的时间比例大概为1:3:6,前期基础问题解决的很快,但后面速度缓慢。
5)对于编程过程,需要有自己清晰的逻辑,而不是简单的跟着题目要求走,首先要自己想清楚下一个功能要怎么实现。不然,便会出现看不懂范例代码与自己代码的衔接。
2.OO设计心得
1)面向过程的时候要考虑的是如何一步一步解决某一个问题,通过调用不同的函数逐渐肢解问题。而面向对象时是将问题划分为一个个对象,解决问题的方法是描述这些对象在各自步骤中的行为。
2)面向对象的基本概念有对象,类,抽象,封装,继承,多态,接口,消息,组件,模式和复用等。目前学习主要为前四个。关于对象和类,总结地说,每一个对象都是某一个类的实例。类是程序运行前已经定义好的存在,对象是在运行之后动态创立的,类是对象生成的模板。抽象是对实际对象进行抽象化,进行主要特征的强调,次要特征的忽略。
3)OO设计的主要任务是将设计尽量和现实世界的事务一致化,尽量使程序设计的思路符合现实世界事务的规律。其最基础也最主要的元素便是类与对象。先要找到需要处理的对象,对其进行抽象,建立类并确立各自的关系。
3.测试的理解与实践
1)在编写代码的过程中基本无法做到考虑所有情况,不然我们平时用的程序也不会有那么多bug了。因而,我们需要在编写完成后进行测试,对格式、边界等进行细化。更值得我们注意的是,当我们出现问题后我们需要做的事。出现问题后遍历自己的代码,对错误进行更正,并对这一错误吸取经验教训,想想自己在写的时候为什么会出现问题,如果是对代码的熟悉程度不高就要加强练习与记忆,为将来代码的质量做好准备。更多时候出现的问题是逻辑问题,这是后我们首先要做的不是改代码,而是去举一反三,我之前的思路是是那么,如果运行下去会出现什么问题,我需要的解决思路是什么,为什么按照这种思路运行可以避免我的问题。代码的测试便是如此,一点一点夯实我们的编码,提高它的质量。
2)如果我来设计测试用例,对于数据类要有限考虑边界数据会不会出现问题,之后在设计一些极端的用例,是学生一开始想不到的但却是合理的。通过这样来提高学生考虑问题的严谨性,拓宽他们的想象力。
4.课程收获
这段时间的学习让我知道的面向对象和面向过程的差异性,让我知道了二者各自的特性。尤其是,不能将二者解决问题的思路混淆,不然编写出来的代码会充斥着别扭感,当再次检查时会时常出现想不清自己当初的思路的情况。这段学习让我掌握了类与对象的关系,能够做到将问题划分为多个对象,对各个类的关系进行梳理。
5.对课程的建议
课程的具有前瞻性与延续性,做到由浅入深。但是在作业的安排上有时会跨度过大,单凭课程上说的内容解决有些力不从心,还需要学生学习其他内容。这与课程设立的目的可能并不先切和。
除此之外希望能在课程学习中学习更多的实例代码与讲解,用实例讲解课程知识。
浙公网安备 33010602011771号