OO第二单元(5-8周)作业总结要求(第八次作业)

1.前言
本篇博客主要总结pta第5-7共三次作业
2.作业过程总结
①第五次作业首次出现类的继承,引出了子类与父类的概念。第六次作业则强化了对类继承的要求并且对类的多态性做出了一定要求。同时第
六次作业要求我们初步掌握对arraylist的使用。第七次作业进一步强化了对arraylist的相关知识应用。
②第五次作业通过图形继承这道题,让我对类的继承有了初步的了解。首先我们创建一个抽象类shape,类shape中含有抽象方法。这道题中
的抽象方法是返回值为0.0的求面积方法getArea();之后建立类rectangle与类circle都继承于类shape。这两个类也称为shape的子类,
shape是这两个类的父类。这两个子类不是抽象类,因为它们实现了父类中的抽象方法getArea();之后继续创建两个类ball与box,其中
ball继承与类circle,box继承于类rectangle。通过这道题,其中几个类显而易见的联系,让我对类的继承有了较为深刻的理解,这为我后两
次作业打下了良好的基础。这就是第五道题引出类的继承性的方式。
而关于类的封装性,其实在之前的第三次作业中就有涉及到。只不过当时我们初步接触到类的概念,并没有对封装性的概念做过多研究。而
随着对类的了解的加深,我越来越觉得理解类的封装性对于java这门面向对象编程语言的重要性。封装是面向对象编程的核心思想,以类作为
载体,将对象的属性与行为封装起来。通过get();方法获取对象的属性,通过set();方法改变对象的属性。这三次作业让我强化了对
get与set方法的理解,三次作业对这两种方法频繁的使用,我自然而然理解了类的封装性。
关于类的多态性,同样的在第五次作业图形继承那道题中有涉及到。这道题中父类shape中的方法求面积方法对于不同的子类,显然是变化的,
因为不同图形的求面积方法不一样,所以在每个子类中,需要对方法getArea();进行重写。而这种重写,正是类的多态性的体现。而通过
第六次作业,再一次涉及类的多态性,这帮助我强化了对类多态性的理解。
③第五次作业第一题水文数据校验及处理具有很大的难度。这道题要求利用正则表达式,通过百度查阅了相关资料。对一些常用的正则表达式
有了一定的了解。但是我也只是了解概念,而当我实际编码时,却发现我无从下手。这道题太具有综合性了,只能暂时放下。第二道题蒙特卡
罗方法求圆周率,这道题大篇幅代码都是各个类基本框架,而最关键的便是核心算法--在选定的区域中随机洒点。这涉及到了随机数的相关知
识,这道题刚好帮我巩固了这一知识点。第三题图形继承前文已经有了小总结。
第六次作业第一题与第五次作业第三题相似,综合了类的三种特性,巩固了相关知识点。第二题一元多项式求导再次涉及正则表达式的相关运
用。可惜的是,我仍然无从下手,我让我深深意识到我对于这方面知识点的漏洞。今后一定加强对这方面知识点的学习。
第七次作业在综合类三种特性的基础上着重要求了对数组的灵活运用。需要我们熟练使用arraylist以及关于comparable接口的应用。
④三次作业花费的时间比例约为5:3:2
3.OO设计心得
4.测试的理解与实践
测试是代码完成过程中的重要一环,测试可以帮助我们验证代码是否可行。同时测试可以帮助我们查找代码存在的漏洞。测试面越广,我们能
找到的潜在漏洞就会越多,最终代码质量就会越高。根据用户实际使用情况,设置实际可能出现的错误输入,比如无效值输入,范围错误的输
入,类型错误输入等情况,最广泛地检查代码存在的漏洞。
5.课程收获
这四周的学习内容紧紧围绕着类的相关知识点,结合题目极大地加深了我对类三大特性的理解。我越来越能感受到面向过程编程语言c语言与面
向对象编程语言java的巨大差异。这么久的学习,java这门语言应该也算是入了门了。同时,几周的学习,我也暴露出了不少问题,比如对于
正则表达式的运用实在是不熟练。今后一定加强对这方面知识的学习。
6.对课程的建议
①希望下次作业能再次选取综合性的题目,巩固我们这段时间学习的知识点。难度不需要太高,不要出现刻意为难人的条件。
②希望老师上课时可以选取与pta作业相似中的作为例题,讲解难点。这样让我们举一反三,依葫芦画瓢,让我们少走弯路,高效率学习。

posted @ 2020-05-02 23:12  Tanst  阅读(107)  评论(0)    收藏  举报