java 第三次

java第二次

 

前言:

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

 

 

 

 

 

 

 

 

 

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

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

Java 抽象类


在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

Java 封装


在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

封装的优点

  • 1. 良好的封装能够减少耦合。

  • 2. 类内部的结构可以自由修改。

  • 3. 可以对成员变量进行更精确的控制。

  • 4. 隐藏信息,实现细节。

 

 

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

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

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

   问题:数据校验

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

问题:检验数据合法性

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

问题:类与类之间的传参

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

⑥正则表达式的初步使用

⑦类的继承用法

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

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

posted @ 2020-06-07 21:32  鱼博客  阅读(105)  评论(0)    收藏  举报