OO作业总结要求(第十二次作业)

1.前言
本学期共发布了九次pta作业,这篇博客主要对这九次作业作总结并谈一谈心得与课程收获
2.作业过程总结
九次作业有明显的难度梯度,同时,每一次作业涉及的知识点都为下一次作业的完成作了铺垫,每一次作业的发布,都与上一次作业保持了
知识的连贯性。
第一次作业运用了基础的输入语句与判断和循环语句,通过这一次作业,我初步了解到java语言与c语言的相似之处,尤其是循环结构,两者
几乎没有区别。
第二次作业引入了java语言的方法,这与c语言中的函数相似,程序主体由一个主方法与若干个子方法构成。通过主方法调用子方法以及子方
间的相互调用实现程序功能。
第三次作业首次引入类的概念,这是java语言中一个及其重要的概念。类概念的引出,同时揭示了java语言与c语言的本质区别,即c语言为
面向过程设计语言,而java语言为面向对象设计语言。面向过程设计强调过程实现的先后顺序,一个程序功能的实现分为各个步骤,由主函数
为程序入口,之后每个步骤依次调用相应的子函数,最终完成。而面向对象设计强调先抽象出对象,然后将一些能实现相关功能的方法放入。
这个设计方法以类为基础,通过调用相关类中相关的函数实现程序。
第五次作业强化了类方面的知识点,引入了类的继承概念以及子类与父类的概念。第五次作业,引出了类的三大特性:继承性,封装性,多态
性。第五次作业借图形继承这道题,子类rectangle和circle继承于父类shape,同时实现抽象父类shape中的抽象getArea()方法。这样的关
系,即继承性的体现。而关于封装性,封装是面向对象编程的核心思想,以类作为载体,将对象的属性与行为封装起来。通过get()方法获
取对象的属性,通过set()方法改变对象的属性。第三大特性,多态性,以图形继承这道题为例,父类shape中的方法求面积方法对于不同的
子类,显然是变化的,因为不同图形的求面积方法不一样,所以在每个子类中,需要对方法getArea()进行重写。而这种重写,正是类的多
态性的体现。
第六次作业在第五次作业的基础上综合了类的三大特性,巩固了相关知识点,提高了我们对三大特性的运用要求,加深了我们对三大特性的
理解。
第七次作业在综合类三种特性的基础上着重要求了对数组的灵活运用。需要我们熟练使用arraylist以及关于comparable接口的应用。
第九次作业引入了程序的重构概念,要求我们对源代码进行重构,使源代码可以适用于现实实际的多变环境。这道题的背景是一个雨刷厂家对
雨刷不同挡位功能的设定,但实际生活中,一个厂家不可能只有单一的一种雨刷产品。因此设计出了一种具有更多挡位的“高级“雨刷,但源
代码无法满足该种型号雨刷的需求。从企业角度来讲,两种雨刷系统完全可以并存。而利用好对源程序的重构,可以使雨刷系统的种类可以随
着产品的更新换代进行”插拔式“增减。这种方法,极大的简化了代码的复杂程度,便于调试。同时,这种代码有着更高的自由度,可以根据
雨刷实际的改变做出相应的修改。
第十次作业设计List,Set及Map接口的相关运用,具有较高难度。
第十一次作业表达式求值首次要求栈的使用,利用栈将表达式由中序表达式转化为后序表达式。然后将该后序表达式按顺序存入一个动态链表,
之后利用循环结构按顺序依次处理该动态链表的每一个单元。最终处理结果即为表达式的值。
3.课程收获
九次pta作业完成,本学期的java课程学习也逐渐接近尾声。几个月来,从初步接受java语言的菜鸟小白到逐渐入门,我对java语言的理解也
逐渐加深。java语言作为当前世界使用人数最多最广的程序语言,具有功能强大和简单易用两个特征。其作为面对对象编程语言的代表,极好
地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
4.对课程的建议
利用pta习题辅助教学的方式很好,可以很大程度巩固所学的知识点。但是希望pta习题的测试点可以显示出来,这样可以便于我们发现自己
代码的漏洞,避免低效的调试过程,高效率学习。
posted @ 2020-06-10 20:52  Tanst  阅读(98)  评论(0)    收藏  举报