java编程及面向对象程序设计的理解

0.前言

从学习java以来,已经进行过三次pta作业的训练。虽然每次作业的完成都遇到了些许困难和障碍,不是一帆风顺的,但通过自己的摸索,实践,总能完成作业要求,每次作业之后都有不同的收获。这些新的收获告诉我,实践出真知,动手会学习到更多东西。总结前面的三次作业,我发现面向对象程序设计这种语言不再那么神秘,我相信马上就能看到揭开神秘面纱后的的它。

 

1.作业过程总结

(1).总结三次作业的知识迭代关系

第一次作业是练习java类型的使用,以及一些简单的语法。主要目的是让我们熟练运用java的基本操作,为后面的练习打下坚实基础。通过第一次作业,主要掌握了java类型的使用,及输入输出操作,起初输入操作是不太熟悉的。第二次作业比第一次作业难度肯定加大了,最直观的感受就是代码量增多了,题型也是求解某一类问题,开始要求用方法,而不是所有东西都没有章法地写在main里面。方法的使用是java的一大特色,所以必须要求掌握。第三次作业显然难度又加大了,作业的难度系数总是在上升状态的,这样才能得到有效的提高。这次作业的要求是另写一个类并实现多种方法。确实难住我了,不过通过摸索还是实现了。类的使用是java入门,因为java程序就是用类组成的。这三次作业是有java知识迭代关系的:第一次作业:掌握java的基本语法及类型,以及输入输出操作——>第二次作业:掌握java的方法使用,以及稍复杂的计算——>第三次作业:掌握java的类的使用及多种方法的使用,用new操作来创建一个类的对象,从而用对象去调用类的功能方法。这些都是一次一次递进的,每次作业完成后都会离真正的java更近一步,也能慢慢体会面向对象程序设计的特点。

(2).如何通过作业逐步从面向过程过渡到面向对象

作业通过一些具体要求,让我们学习java的用法。第一次作业,就从输入输出感受到了面向过程与面向对象的差别,第二次作业就学习到了方法的用法,第三次作业,就了解到了java里的类与方法,这些都是作业提供的从面向过程到面向对象的过渡。

(3).作业过程中遇到的问题及解决方法

问题1:作业一中的判断三角形类型中的判断等腰直角三角形测试点过不去

解决方法:试了很多组数据,发现有的数据与预想的不一样,原来计算机有精度要求,而等腰直角三角形的两直角边都是无理数,不能轻易用勾股定理判断,要用精度去规范判断等腰直角三角形。

问题2:作业一中的统计最大数出现次数中的以0结束弄不好

解决方法:刚开始我是用while(输入整型数并以输入0为结束),结果程序出错,后面换了一种思路,把输入整型并以输入0结束放在while里面就可以了。

问题3:作业二中求二元一次方程中根为0的时候输出-0

解决方法:当根为0时,直接控制输出0

问题4:作业二中的日期类设计中指定的类的方法返回类的类型,不知道怎么返回。

解决方法:想了很久,试着各种方法,突然就试成功了。原来返回类就是用这个类去new一个对象,把改变的参数传出去,返回这个类的对象。

问题5:作业二中的日期类设计中指定的类的方法返回String的类型

解决方法:也是试出来的,实践出真知,直接返回年月日就可以了。

(4).每次作业花费的时间比例

大概是1:2:3,随着作业难度的加大,花的时间也越多。

(5).对编程过程的严谨性的认识及教训

java编程是极其严谨的,不容一丝差错,宁可牺牲其灵活性也要保证其稳定性。有一次我在java编译器里将类的名字命名为Test,结果一直报错,而程序又找不出错误,想破脑袋也想不明白,后来请教别人,被某位碰到过相似问题的仁兄一语道破,原来java类里面已经隐含定义了Test类,我们又定义一次会让编译器错乱,最后我把类名改了,果然可以运行了。真是一招不慎,满盘皆输。失之毫厘,差之千里,任何标点符号都不能出错。

 

2.OO设计心得

(1).面向过程与面向对象的比较

面向过程与面向对象有什么区别,起初我是不太清楚的。通过这三次作业,我发现了不同之处。首先面向过程主要实现是用函数实现,函数之间没有限制,可以相互调用,学了java以后,就感觉这种函数的调用比较乱,没有章法。而面向对象就不同了,面向对象的主要实现是类,其中类里面又包含方法和属性,有一个比较清晰的架构,而类的使用是通过对象的,不是直接可以使用的,这就与面向过程有明显区别。面向对象的类是可以有多个对象的,通过对象来使用类里的各种方法和属性,就与我们现实操作环境比较接近,因为我们现实生活中也是如此,比如都是人,但是人与人有不同的特性,不能称之为同一个对象。java里就可以使用对象来解决个体的差异。这些就是面向过程与面向对象我的理解。

(2).面向对象设计的基本原则理解

java是由类组成的,类又由方法及属性构成,面向对象是指,java的一切操作都通过对象来操作,只有对象可以使用类的方法及属性,这就是面向对象的思想,不同的对象可以使用不同的它们自己所需的方法及属性,就像我们人一样,各取所需。

(3).OO编程思维的理解

由对象控制操作,面向对象程序设计,类里面定义方法属性,对象来调用。java的特点:封装,继承,多态。

 

3.测试的理解与实践

(1).测试对于编码质量的重要性

测试对于java程序就像医生对于人一样,检查哪里有漏洞,这个程序是否符合设计要求,达到预期效果,程序的健壮性如何。

(2).假如让你设计测试用例,你会如何做

我不会泛滥测试,而是先观察程序,觉得程序在哪个地方有漏洞,进而测试该点,让程序测试边界及特殊界限,极限测试,和功能测试,让程序尽可能地健壮。

 

4.课程收获

通过这三次的作业训练,觉得自己算是知道java这种面向对象程序语言是怎么一回事了,知道怎么去写java程序了,知道java的大体构造了。

 

5.对课程的建议

希望可以学习到更多的java知识。

 

6.接下来的学习计划

继续完成java作业,尽可能拓展java学习,可以找些题目来练习,自己多动手练习,弥补不足。

版权声明:本文为l-yy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/l-yy/p/12635248.html