OPP对第一阶段学习内容的总结
- 前言
目前为止,OOP(Object Oriented Programming)课程已经发布并已完成三次作业,第一次作业有:计算税率, 判断坐标点所在范围,电话键盘字母数字转换,判断三角形类型,统计最大数出现次数。第二次作业有:求一元二次方程,判断闰年及星期几,求下一天,求前n天。第三次作业有:用类解一元二次方程、日期类设计、日期问题面向对象设计(聚合一),日期问题面向对象设计(聚合二),本博客对以上三次作业以及这四周的学习进行分析与总结。
2.作业过程总结
三次作业难度逐渐增大,从对eclipse的基础使用,到对类、对象的基本认识,再到自己构建类,创建对象来解决问题。每次业都体现出其价值。
在第一次作业中,我学会了如何用eclipse建立java文件,并初步认识到类的概念,通过简单地题目,简单认识到java的编程方法。在第一次作业遇到的问题主要是对eclipse工具的使用不熟练,在经过老师上课讲解和自己搜索资料,成功编写出能正确执行的java文件。此次作业较简单,耗时较短,一天以内即可完成。
在第二次作业中,我开始学会构建新的类,并学习了类、属性、方法的概念,也学会了java中对基本数据结构的操作,如数组的构建,整数的使用,字符串的处理等,通过题目,巩固加深了自己对面向对象编程的理解,并开始熟练使用eclipse编写java文件。在第二次作业中遇到的问题主要是对java的语法,关键字不熟练,对类的概念理解不清晰,因此在使用各种java自带的方法时,总是出现使用错误或拼写错误,不过有错误才能改正,在搜索资料和老师上课的讲解中,我明白了一些常用类和方法的使用,并开始将面向过程编程的习惯改成面向对象编程。此次作业难度比第一次大,花费时间一般,两至三天完成。
在第三次作业中,我明白了构建一个完整的类的步骤,并在其中定义类的属性、方法,以及学会创建对象。在第三次作业中遇到的问题很多,对类和对象的理解不全面,对java关键字的不熟悉,以及对面向对象编程方法的不熟练,导致每次编写都会出现大量的BUG,例如:对类的构造方法不理解;对对象创建的过程不清晰;对java对内存的处理方式不明白;局部变量,静态变量,全局变量等混淆;属性,方法混为一体等。第三次作业就像是在泥潭里行走,每一步都艰难无比,但好在此次作业限时较长,因此我跟随老师的课程进度,逐渐改正,完善自己的代码,通过百度,谷歌等查找,改正BUG,最终在截止日的下午做完了所有题目,并完成了全部检查点。此次作业难度提升较大,主要是对面向过程编程的思想没有转变为面向对象编程,此次话费时间较长,从作业发布一直做到作业截止。
同时,我认识到,无论是面向过程还是面向对象编程,编程过程的逻辑严谨性都是必要的,一个程序的核心是算法,算法的正确与否取决于逻辑是否严谨,在这方面题目设置的很好,检查点较多,使我在编程时考虑的更加详细,因而程序更加健壮,可靠,易理解。而这是非常关键的。
3.OO设计心得
面向过程是将问题分解成一个个步骤然后实现,使用时一个个调用。而面向对象引入对象的概念,以功能来划分问题,建立对象,并描述其在解决过程中的行为。
在一开始从面向过程转变为面向对象编程还是比较困难的,对于程序编写方式的区别较大,但在经过这几次作业以后,面向对象虽然在一开始建立对象时稍麻烦一些,但在以后编写的时候发现,面向对象比面向过程更易编写和使用,能做到所谓的“高聚合 低耦合”。
4.测试的理解与实践
测试是软件设计与开发的过程之一,并且贯穿整个程序编写的过程,不仅能检测程序是否正确运行,还能使程序逻辑更严谨,增加程序的健壮性,因此测试的重要性是显而易见的。
因此假如让我设计测试用例,我不仅会选择设置许多不同的常规测试点,同时也会设置许多极限值,错误值输入,来检测程序对于非期望输入的判断,而这也是这几次作业设计的测试用例的特点。
5.课程收获
这四周的课程令我受益匪浅,不仅巩固了我已有的编程知识,更重要的是使我开始形成面向对象编程的思想,从一开始安装JDK,到编写第一个java程序,再到现在能完整构建一个对象,其中免不了有挫折,但在老师的帮助和指导下,我能一一克服各种困难,走到现在,虽然现在还是时不时会出现错误,但是我已经能熟练地运用各种方式来解决问题。有问题不可怕,重要的是如何想办法去解决它。
6.对课程的建议
因为我们一开始接触的是面向过程编程,在突然转变为面向对象时会不习惯,并且会下意识地用面向过程的思想去看待,所以我建议在课堂上能将面向对象的内容与面向过程的一些内容相比较,将其中的不同之处和相同之处着重讲解,以便于更好的理解面向对象的思路与优点。

浙公网安备 33010602011771号