java第二阶段

java第二次

前言:

一共发布了三次作业,以下是题目标题,具体要求进入https://pintia.cn/problem-sets?tab=1&filter=all,查看javahomework4~6

 

 

每次作业分为几小题,每题的分数不同,总分100分,其中求素数那题是加分题,本题为加分题,总分30分,得分计算方式如下:(所有得到满分的同学程序所用时长的平均值-你的程序运行所用时长)/所有答案所 用时长最小值*30分,为负值者 不得分。给分标准是测试点,每题会根据题目功能要求设置测试点,需要严格按照题目要求以及功能才能通过测试点,题目的审判由电脑完成。

作业过程总结
总结三次作业之间的知识迭代关系;

数据校验部分都是用了正则表达式,也运用到了ArraryList的功能实现。

三次作业都运用到了类的继承和多态,继承:为了代码的重用,保留基类的原本结构,并新增派生类的部分,同时可能覆盖(overide)基类的某些成员。

多态:一种将不同的特殊行为和单个泛化记号相关联的能力,分为静态多态和动态多态。

 继承:一个派生类可以通过继承获得基类的所有成员,而无需再次定义它们。分为public、protected和private三种继承方式,前两种方式保持基类的所有成员的属性不变,且派生类可以访问基类的public和protected成员,但仍然不能访问基类的private成员;private继承将使得基类的所有成员在派生类中表现为private属性。

声明一个派生类对象,即在构造派生类对象时,遵循基类的接口,先构造基类子对象,再构造派生类增加的部分。其中的组成由下图所示:

 

如何通过作业逐步从面向过程过渡到面向对象;

分析题目,每个对象都会有自己的方法,实现自己的功能,在把各个对象之间的功能实现连接起来完成问题。优先划分没一个对象,每一个对象实现自己的功能部分,最后吧每个对象联系起来。

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

   问题:数据校验

解决方法:熟悉正则表达式,灵活处理数据

问题:检验数据合法性

解决方法:可以先通过正则进行输入格式检验,在通过检验方法函数检验数据的合法性。

问题:类与类之间的传参

解决方法:明确参数类型,清楚地知道每个类及其参数的作用,进行逐级分析。

每次作业花费的时间比例

前两次都有一题不能够完全答对,花费时间比较长。最后一次花费了两天。
对编程过程的严谨性的认识及教训

正则表达式的准确表示,在动手写代码之前一定要确定好没一个类的用途作用,所实现的功能,每一的参数在那发挥了作用,以及类与类之间的关系。
2.OO设计心得
面向过程与面向对象的比较
面向对象设计的基本原则理解

单一职责:一个类尽量只有一个功能。
③OO编程思维的理解

面向对象的处理思维,不在只寻求解决步骤,同时把对象表现出来。
3.测试的理解与实践
测试对于编码质量的重要性

测试能够基本确定编码的功能完成情况,以及反映功能的实现状况。测试还能够知道编码运行的效率,可以初步判断代码算法的质量和简洁性,时间空间利用率。用户可以通过测试反映出的功能实现状况进行修改源代码的功能错误,也可以进一步升级,完善源代码。测试能够直接知道代码功能的实现,及明白代码的逻辑功能实现的错误,发现编译不能发现的错误。测试能让用户反代码的错误,也能让用户改进代码,以及确认代码的功能实现。
假如让你设计测试用例,你会如何做

考虑问题的实际性,测试用例一定要保证接近现实数据。

考虑各种极限情况,边界值的测试,极大值极小值的测试。

考虑特殊情况的测试,针对不同的问题,如果出现特殊情况或者会出现变化偏差的情况 需要单独测试。

考虑正常情况的测试,正常的功能情况随机输入进行测试确保每次有效。

考虑功能全面的测试,确保功能的全面性,进行功能测试。

考虑代码的运行效率,分析代码算法的效率性。

考虑数据类型的转换,参数在每个类中的类型转变。

考虑对类的用法,保证类的功能被实现。
4.课程收获
①一定要确认每次变量的类型和精度问题

②很多时候需要调试每一行代码才能知道具体哪里有问题

③需要根据自己的理解可适当添加或修改检查代码,确认自己的程序是按照自己的逻辑 来运行的。

④在编译器中有一些快捷功能可以使用

⑤更加熟悉了面向对象的思想,熟悉java的编程风格。

⑥正则表达式的初步使用

⑦类的继承用法

⑧对数据校验合法性可以分别针对输入格式和输入数据合法性分开校验
5.对课程的建议

建议多一些实力讲解,某些难知识点可以通过逐步讲解,逐层讲解来慢慢理解。多一些实例提供参考和和借鉴学习。

猜你喜欢

转载自www.cnblogs.com/9527yyp/p/12817717.html