针对我们第二阶段的作业(共三次)进行以下的总结

0.前言(说明本次博客针对的作业情况)

第二次作业对于第一次作业的难度加大了许多,是对面向对象的封装性、继承性与多态性三大技术特性的理解与运用,同时里面还有对与正则表达式的运用。

1.作业过程总结

①、三次作业之间的知识迭代关系

三次作业的难度都是由深入浅。第一次作业是对与Java中继承的操作,以及如何使用正则表达式去对于字符串的校验,对于我们来说难度颇为大;第二次作业是对于类的继承跟多态的运用,难度适中,其中也是对于正则的运用是一个难点;第三次作业的难度就还好,比较适合新学继承、多态以及接口的应用。

②、如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性;

我们从这三次作业来看:第一次作业是对于面向对象的封装性的理解,我们可以看出来,这几道题都是将对象的属性跟行为放在一个类中,这个称之为封装;第二次,涉及到面向对象的继承性,例如父类与子类的继承关系,以及在子类中重写父类的方法;第三次,是在前两次的基础上对于多态性的运用,在第三次作业中运用了Comparator 接口。

③、作业过程中遇到的问题及解决方法

在第一作业之中:我是先从后面做的,第三题主要是不认真仔细,大小写的问题,没有注意到输出的大小写;第二题中在输出中开始忘记*4的问题还有将将数据存入新的圆对象中这个方法有问题;第一题对于正则表达式一直都是出问题中,以及拆分字符串错误;

在第二次作业之中:第一题开始是对于ArrayList 应用以及 不理解,事后主要是问同学跟看慕课以及查找网上资料进行学习;第二题的是对于其中的情况考虑到不周到,同时还是对于正则表达式的不熟练,最后是询问同学以及网上资料查找解决。

扫描二维码关注公众号,回复: 11170425 查看本文章

在第三次作业之中:还是主要对于多态的运用,不知道什么时候去运用,第一题中在写DealCardList类中的构造函数出了问题,同时在排序的时候也有问题,问了同学之后才知道如何用ArrayList进行排序;第二题是对于Comparator接口的运用,与第一题相类似,第三题在网上寻找快速求素数的方法。

④、每次作业花费的时间比例

第一次作业:第二次作业:第三次作业=5:5:4(天数)。

⑤、对编程过程的严谨性的认识及教训

首先,不要看到题目就开始打代码,一定要提前想好如果去写,了解主要的框架;其次就是在编译的时候出的一些小问题,这个一定要严谨,例如第一次作业中第三题,一定要看好字母的大小写去做;然后,就是要审题,看清楚题目中的要求,最重要的就是一定要会看类图,有类图方便我们对于整道题的框架的一个书写,然后就要了解到它每一个方法是什么意思,理解好才能做,这三次作业都是,开始对于类图中个别方法不理解以及不知道是它的作用是什么样的,其次就是要对于它每个知识点做到足够了解再去做题。

2.OO设计心得

①、对面向对象三大技术特性之间关系的理解

通过三次作业来看,可以看出来封装,就是把客观事物封装成抽象的类,并且类可以使自己的数据和方法只让可信的类或者对象操作,对不可信的则进行信息隐藏;而继承呢就是可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展;多态,是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

②、面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)

单一顾名思义就是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。而“开-闭”就是一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。

③、OO编程思维的理解

Java是面向对象的过程,我们不能从面向过程中出发,将问题分为不同的对象组成,再考虑实现功能的过程。

④、类设计心得

在设计一个类的过程中,类是一个模板,它描述一类对象的行为和状态。在 Java 中定义一个类,需要使用 class 关键字、一个自定义的类名和一对表示程序体的大括号,其中有成员变量以及其中的方法。要考虑其中每一个类与类的联系与方法的调用。

3.测试的理解与实践

①、测试对于编码质量的重要性

测试对于一个代码运行成功是真的很真要,这对于以后你写代码以及代码实现便捷有很大的用处,我之前为了实现一个代码运行成功,将其中的方法一个一个进行测试,特殊情况一个一个输入。

②、查阅资料,假设使用Junit进行程序的测试是否可行

我觉得是可行的,在平时的开发当中,一个项目往往包含了大量的方法,可能有成千上万个,我们不能一个一个去看,发现一个问题之后又重新去开始去寻找新的问题,这样是很费时间的,这时候Junit就是一个不错的选择,它在于内部提供了一个断言机制,他能够将我们预期的结果和实际的结果进行比对,判断出是否满足我们的期望。

4.课程收获

通过这四周的学习,教训多,收获也多。收获:我对于Java面向对象的封装性、继承性与多态性三大技术特性有了一定的了解,学会了如何使用它去实现一些功能。教训:主要还是要细心一些,将基础知识把握住,因为不细心,在修改代码上浪费了好长时间。学会看类图,主要是学会知道每个类之间的联系以及其中的方法的作用以及如何去实现这个方法,然后就是要花多点时间去自学一些东西,然后就是将正则学会。

5.对课程的建议

①、第三阶段作业难度、题量的建议

希望可以在难度大的情况下,题量减少或者反之难度小,题量维持在4个这个样。总之希望难度适中,像这次的第三次作业这样。

②、课程内容讲解方面的建议

可以讲解一些知识点,例如在作业中需要我们自学的这样,在自学的时候,有时候会学不扎实。

6.之后一阶段的学习计划

加强对于基础的巩固,然后多看看网上资料,跟着老师的网课进度,努力完成老师的任务。

猜你喜欢

转载自www.cnblogs.com/gxzjy/p/12819501.html