您的位置:首页 > 理论基础 > 数据结构算法

20162329张旭升 2016-2017-2 《程序设计与数据结构》第七周学习总结

2017-04-14 19:48 274 查看

20162329张旭升 2016-2017-2 《程序设计与数据结构》第七周学习总结

教材学习内容总结

通过继承实现多态:若两个类是is-a关系,将子类对象向上转型为父类后该变量就可以实现多态,即可以用该变量随意调用父类或者子类中的各种方法,注意在调用子类方法时前面要进行一个强制类型转换。

通过接口实现多态:假设有一个自定义接口,下面有多个类实现了这个接口,可以用接口声明一个引用变量,该引用变量可以指向任意一个实现了该接口的类,然后就可以通过该变量调用多个类中的方法或变量。

教材学习中的问题和解决过程

问题1:在打完书上9.1到9.7的代码后进行编译发现总有这么一个
error
无法解决。





问题1解决方案:我仔细看了几遍代码,发现是书上的代码写错了,之前的所有类中都没有关于
count
这个变量的引用和声明。

代码调试中的问题和解决过程

这周没有出现新的调试方面的问题,出现的都是一些见过的错误,基本一下就能找到错误的地方并更正。

代码托管





## 上周考试错题总结

第五周测试:
7.以下哪个方法头部最有可能是设值方法的头部?
A .public int getAge()
B .public double computeSalary()
C .public Person()
D .public void setAge(int newAge)

7.错误原因:
开始不理解头部是什么意思,解析中说:调整器是更改实例变量的值的方法,通常被称为setter

8.___变量由类的所有实例共享.

A .static

B .final

C .public

D .private

8.错误原因:
粗心看到public下意识的选了。

16.如果一个服务非常复杂,以至于不能用一个方法来实现,一般通过将方法分解成几个____支撑方法

A .static

B .aggregate(聚合)

C .private(私有)

D .public

16.错误原因:
看书不仔细,概念混淆了。

17.重载方法的版本通过____区分.

A .参数的个数,类型和次序

B .重载方法的标识符

C .重载方法的类

D .参数的个数和类型

E .参数的个数

17.错误原因:
粗心看到个数类型就直接选了。

25.果有以下程序片段:
class Some{
String ToString(){
return "Some instance";
}
}
public class Main{
public static void main(String[] args){
Some some = new Some();
System.out.println(some);
}
}
以下描述正确的是
A .显示Some Instance
B .显示Some@XXXX,XXXX为十六进制的数字
C .发生ClassCastException
D .编译失败

25.错误原因:
不知道打印对象本身就是运行toString方法。

第六周测试
2.下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
A .od -b -tx1 Hello.java
B .od -tcx1 Hello.java
C .od -tc  -tx1 Hello.java
D .od -tbx1 Hello.java

2.错误原因:
Linux命令学习不扎实。

4.通过继承派生出新类的原有类称为
A .超类
B .父类
C .基类
D .以上都正确
E . 以上都不正确

4.错误原因:
基础概念不扎实,只知道被继承的类是父类。

13.如果子类构造函数没有显式调用超类的构造函数,那么_______
A .将产生运行时错误
B .将产生编译时错误
C .构造函数不管怎样都会被调用
D .该子类将被隐式声明为abstract

13.错误原因:
粗心没有认真理解题意。

24.如果有以下的程序代码:
int[] arr1 = {1, 2, 3};
int[] arr2 = new int[arr1.length];
arr2 = arr1;
for(int value : arr2) {
System.out.printf("%d", value);
}
以下描述何者正确?
-A .执行时显示123
B .执行时显示12300
C .执行时出现 ArrayIndexOutOfBoundException 错误
D .编译失败

24.错误原因:
前面学的数组的内容有所遗忘。

结对及互评

刘伟康同学这周学习中有了很大的进步,开始学习自己去敲一些简单的代码,一些概念不清的地方也开始使用一些测试类去验证想法,虽然思想依旧比较死板,总会思钻牛角尖但是有进步就是很好的,望继续努力!

点评过的同学博客和代码

因为本周有实验的原因,对于实验方面的一些东西我们之间进行了交流意见,我也教了他一些方法。

20162330

结对学习内容

书上概念的理解

上周博客互评情况

20162301

20162312

20162319

20162321

20162323

其他(感悟、思考等,可选)

通过每周的测试我发现虽然现在自主打一些简单代码问题不大,可是测试成绩总是不是我想象的样子,是我概念掌握的不好么,看了解析我感觉也不是的,就是做题的时候太着急太粗心,好多都是会的选错,这方面应该加强一下。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周73/731/113/13
第二周284/3571/218/31
第三周387/7441/315/46
第四周1134/18782/5>30/>70多种嵌套循环使用
第五周623/25011/615/>85自定义类的创建使用
第六周687/31881/715/>100类的继承
第七周1541/42072/815/>115多态
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:20小时

实际学习时间:15小时

改进情况:多写多测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐