阶段性学习总结
作者:互联网
在面向对象程序设计这节课上不知不觉已经学习了五周的时间了,我也从开始的仅对java有简单了解的程度转变到了对java有着一定的了解(也许在实际上我还没入门哈,尽管我自认为有一定的了解了)。现在我将对我目前五周所学的知识做出一个大概性的总结。
第一周学习总结
在这一周中我们简单学习了类与对象,对类与对象有了初步的了解,同时我们也做了第一次的作业,这第一次作业在老师给足了提示的情况下完成。我们做的第一次作业是关于雨刷的问题。众所周知 ,雨刷就是在一般的车前窗上所具有的主要用来在下雨天时将车窗上的雨水刷去的工具,这可以有效地为我们提供良好的视野要求,防止由于视野不清晰而引发的诸多事故。在接触这个雨刷的学习之前,包括我在内的大多数人相信都是对雨刷的运行原理不甚了解的,有时甚至会认为不就一个简单的雨刷吗,有什么难的,不就由几个简单的部件所组成的而已。要是这么想那就大错特错的。在一个看似简单的雨刷系统中,其实也是有着许多不简单之处的。我的作业所要解决的只是软件方面的编程问题,当然,凭我目前的知识水平也是不能够做出一个完整的雨刷系统出来的,我做的只是能够实现雨刷的少部分的功能的“青春版”雨刷系统。
第一周作业做了两次,除第一次外的每一次都是在上一次的基础上增加或修改了内容,让代码逐步地具有更多的功能。
第一周中的第一次作业我们只是用最简单的方法将我们的雨刷系统做了出来。仅仅是由一个类中的不同函数来实现几个功能。其中的部分结果截图如下:
在第一周的第二次作业中我们开始用不同的类来作不同的功能。对前一次的代码做出了较大的改动。
类图如下:
最终所实现的功能还是和第一次作业中的是一样的,但是代码却变得更加复杂,但这样也可实现更多的功能。
第二周学习总结
在第二周中我们开设了MOOC的视频学习,在这一周的视频中我们学习了类与对象,同时也完成了一次对应的作业。也是运用到了类的知识。同时在这周我们也完成了PTA上发布的作业。PTA上的作业对于目前的我来说还是带有一定的难度的,尤其是后面的两道只给类图而要我们写相应的代码的题目。
这两道题目让我确实地大费头脑,但在完成了之后我确实对类图有了更多的认识与了解。
在这周中我们也完成了我们的第三次雨刷问题的作业,并且这次的作业要求也增加了,要求我们在第二次的基础上,需求不变,采用面向对象技术,合理设计实体类、业务(控制)类、接口类及各个类之间的关系,务必符合SRP(Single Responsibility Principe,单一职责原则)以及Demeter法则(Law of Demeter)。可对我的这次代码来说并没有做多大的改变。
第三周学习总结
在第三周的学习中首先我们是进行了MOOC视频的第二周的学习,在第二周的视频学习中,主要给我们介绍了对象交互,对类的访问属性的封闭与开放,java的包和将类作为变量的知识进行了学习。这次给我们布置的是关于数字时钟的问题的作业,而在这次的作业中我学习到了对类的复用,只要传不同的参数,就可以多次调用一个类来表达类似但不同的功能。
其次在这周中还给我们布置了第一次的实验题,在本次实验中有以下要求:
1、练习类的构造方法、方法的调用、参数传递、对象的构造与使用;
2、练习循环结构、控制结构;
3、练习数据的输入与输出;
4、学习编写结构清晰、逻辑正确、功能完善的java代码。
5、学习使用工具对代码进行跟踪调试。
作业类图如下:
通过这次实验,我对一些代码的函数运用更加熟练了,对数据的格式化输出知道了更多使用方法。我自身对类以及数组有了更多的了解。同时我明白了网络是个好东西,对目前阶段的我来说,当遇到不太会的知识时,上网查阅往往可以找到我想要的资料。就如对随机字符串的给出和数据的格式化输出的相关资料都是从网上查找资料所得。
而在本次实验的第二题修改代码中,我有过最终程序可以运行,但结果一直都是错误的的问题,最后经过调试逐步检查找出了错误,原来是有一个参数的错误未发现。通过这次的修改代码,我学会了使用调试功能,相信这对我以后写代码是的纠错能力有所提高。而且在这次修改代码中还锻炼了我能够静下心来看代码的能力。
最后在这周又有了雨刷问题的进阶版题目,要求如下:
1、重构上次作业雨刷问题,需求不变,采用面向对象技术,再次合理设计实体类、业务(控制)类、接口类及各个类之间的关系,务必符合SRP(Single Responsibility Principe,单一职责原则)、Demeter法则(Law of Demeter)(强制要求)
2 、设计必须符合MVC模式,且尝试嵌入单例模式(独身模式)
在这次作业中我对应题目要求完成后代码类图如下:
在这次的代码中我们用上了单一职责原则以及MVC模式将代码的不同功能进行了分类。
第四周学习总结
在这周中我们学习了java中的继承与多态,通过MOOC视频学习,让我们了解到继承中的父类与子类之间的关系,也对向上与想下造型有了一些了解,但对这造型没有过多的深入了解。多态是我们学习java的一个核心点,有了多态的应用,可以让我们的代码实现可复用、可拓展等功能。避免了当客户需求发生变化时的代码难修改等问题。
在这一周中也发布了两次PTA作业,不过这两次作业以复习基础知识为主。而在这两次的作业中我发现了在基础中的的我的一些不足之处。
在这之中我写代码的习惯一般都是整形和浮点型只用int 和 double,这让我在这次的作业中吃尽了苦头,题目虽然不难,但在这之中的多道题目在我写完提交之后总是不能完全正确,在花费了大量时间之后仍然没有成功修正。直到问了同学之后我才明白这些题目的测试点都是之能用float过得,一旦用double则会让算出的结果产生微小的误差,可这对题目固定的答案来说就是错误的,于是造成了我那个难以发现错误的结果,想不到竟是这种问题,那时将我的鼻子都气歪了。
在第二次的PTA作业中则主要让我们复习了关于String的知识,这也是让我有了更多的知识储备,对String的函数学到了更多。
第五周学习总结
在第五周学习中,我们仍然有着MOOC的学习视频。在这期视频中则学习了对象容器的知识,学到了顺序容器、对象数组、集合容器和散列表。
在课上所学的也不多,主要是学习了一些类的使用。也学习了泛型、容器以及一些简单的数据结构知识,在链表的知识也有所学习,但也主要是接触学习为主。
这周又布置了新一期的实验,不过却是不难而有趣,是关于“过河”问题的内容
实验目的如下:
1、 掌握类与对象的基本概念;
2、 掌握类的声明、创建与使用方法;
3、 掌握类的构造方法的定义与使用方法
4、 掌握类的成员变量、成员方法的定义与使用方法;
5、 理解类变量、类方法与实例变量、实例方法的区别;
6、 理解Java语言中包的概念以及package、import语句的使用。
7、 理解引用变量与对象实例之间的关系与区别;
8、 理解方法调用时引用类型参数的传递过程;
9、 掌握private、protected、public等关键的使用场合与使用方法;
10、 掌握对象组合的方式与方法;
11、 理解Java中方法重载的实现方式。
第一题的题目要求是:
1、 农夫过河问题:一个农夫带着一匹狼、一只羊、一颗白菜要过河,河上只有一条船能够渡河,而且农夫每次最多只能带一个动物或物品过河。当农夫不在的时候狼会吃羊,羊会吃白菜。
请以代码为基础,将程序代码补充完整,实现农夫过河游戏功能:由用户选择角色过河,系统自动判断游戏的胜负:当出现有生物被吃掉的时候,游戏失败,所有角色都到了河的另一边,游戏成功。
以实验给出的代码为基础,让我们在所给的错误代码的基础上将代码修改正确且符合逻辑。我将其修改正确之后可以得到以下结果:
第二题则是在第一题的基础上稍作修改便可,得出的结果也是与第一题一样的。
标签:总结,阶段性,题目,代码,作业,雨刷,学习,我们 来源: https://www.cnblogs.com/cxtchen/p/16098104.html