本学期的学习的总结
0.前言(说明本次博客针对的作业情况)
本学期我们一共有三次大作业,分别是对于Java中基本操作的运用、面向对象的封装性、继承性与多态性三大技术特性的理解与运用,同时里面还有对与正则表达式的运用、以及对于接口与抽象类的使用、链表、以及栈的应用。
1.作业过程总结
①、三次作业之间的知识迭代关系

三次大作业的难度都是由浅入深。第一次大作业是对于Java中基本操作的考察,第二次是对于对于类的继承跟多态的运用、Java中对类的设计以及类直接的关系的考察,第三次作业是对于面向对象封装性、继承性与多态性;接口与抽象类的使用、上下接口、List、Set或Map的应用、要自学栈的内容去进行表达式的计算;
②、如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性;
我们从这三次作业来看:第一大作业是对与Java中基本语法的操作,如何用Scanner进行输入以及System的输出、自定义函数等这些是面向过程的,而第二次作业对于面向对象的封装性继承性与多态性的理解,我们可以看出来,这几道题都是将对象的属性跟行为放在一个类中,这个称之为封装;涉及到面向对象的继承性,例如父类与子类的继承关系,以及在子类中重写父类的方法,是在前两次的基础上对于多态性的运用,第三次作业是增加了栈、链表等的知识点,通过本次作业,让我们更了解了封装、继承和多态。。
③、作业过程中遇到的问题及解决方法
在第一作业之中:这是我花时间最少的,因为老师之前在课上讲过这道题,所以没有出现什么太大的问题。
在第二次作业之中:开始是对于List等应用的不熟练,事后主要是问同学跟看慕课以及查找网上资料进行学习;但是还没有做出来,后来询问同学,参考他的作业,在他的作业上运用与他不同的方法去实现,但是还没有做对。
在第三次作业之中:还是主要对于栈的运用,主要是问同学跟看慕课以及查找网上资料进行学习,根据网上代码进行改变但是还有两个测试点没有过,例如:-(-2+1) = -1.00,这种。
④、每次作业花费的时间比例
第一次作业:第二次作业:第三次作业=1:2:12(天数)。
⑤、对编程过程的严谨性的认识及教训
首先,不要看到题目就开始打代码,一定要提前想好如果去写,了解主要的框架;其次就是在编译的时候出的一些小问题,这个一定要严谨,例如就是要审题,看清楚题目中的要求,最重要的就是一定要会看类图,有类图方便我们对于整道题的框架的一个书写,然后就要了解到它每一个方法是什么意思,理解好才能做,这三次作业都是,开始对于类图中个别方法不理解以及不知道是它的作用是什么样的,其次就是要对于它每个知识点做到足够了解再去做题。
2.OO设计心得
①、对面向对象三大技术特性之间关系的理解
通过三次作业来看,可以看出来封装,就是把客观事物封装成抽象的类,并且类可以使自己的数据和方法只让可信的类或者对象操作,对不可信的则进行信息隐藏;而继承呢就是可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展;多态,是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
②、面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)
单一顾名思义就是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。而“开-闭”就是一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。
③、OO编程思维的理解
Java是面向对象的过程,我们不能从面向过程中出发,将问题分为不同的对象组成,再考虑实现功能的过程。
④、类设计心得
在设计一个类的过程中,类是一个模板,它描述一类对象的行为和状态。在 Java 中定义一个类,需要使用 class 关键字、一个自定义的类名和一对表示程序体的大括号,其中有成员变量以及其中的方法。要考虑其中每一个类与类的联系与方法的调用。
3.测试的理解与实践
①、测试对于编码质量的重要性
测试对于一个代码运行成功是真的很真要,这对于以后你写代码以及代码实现便捷有很大的用处,我之前为了实现一个代码运行成功,将其中的方法一个一个进行测试,特殊情况一个一个输入。这次的第三题,其中有5个关于正常表达式的计算,这个真的很麻烦,没有例子,要一直一直去试。
②、查阅资料,假设使用Junit进行程序的测试是否可行
我觉得是可行的,在平时的开发当中,一个项目往往包含了大量的方法,可能有成千上万个,我们不能一个一个去看,发现一个问题之后又重新去开始去寻找新的问题,这样是很费时间的,这时候Junit就是一个不错的选择,它在于内部提供了一个断言机制,他能够将我们预期的结果和实际的结果进行比对,判断出是否满足我们的期望。
4.课程收获
收获:通过三次大作业我对于Java中基本操作的运用、面向对象的封装性、继承性与多态性三大技术特性的理解与运用,同时里面还有对与正则表达式的运用、以及对于接口与抽象类的使用、链表、以及栈的应用都有了一定的了解。学会JAVA设计,以及JAVAFX界面的设计。教训:学的不够,认识的不全面,以至于做PTA的时候遇到了许多的麻烦,就本次最后两次作业,吃了好大的亏,测试点一直不过,改来改去也会错误。
5.对课程的建议
①、第三阶段作业难度、题量的建议
希望可以在难度大的情况下,题量减少或者反之难度小,题量维持在4个这个样。总之希望难度适中。
②、课程内容讲解方面的建议
可以讲解一些知识点,例如在作业中需要我们自学的这样,在自学的时候,有时候会学不扎实;可以在PTA上多加一些测试例子,像第三次大作业5个测试点,有点麻烦,越改越错,然后也不知道哪里有问题。
6.之后一阶段的学习计划
不断的去巩固的知识的学习;同时学习一些新的知识点,更加的去了解有关算法的知识点。

浙公网安备 33010602011771号