20172304 2017-2018-2 《程序设计与数据结构》第八周学习总结
学号 2017-2018-2 《程序设计与数据结构》第八周学习总结
教材学习内容总结
本周主要讲了多态,面向对象的编程最重要的就是封装,多态,和继承。多态的对象可以指向多种类型。具有很高的灵活性。多态可以由继承和接口实现。由继承实现多态,可以用父类定义一个对象,而这个对象可以指向子类的对象。而接口实现多态,则是在实现接口的类中,由接口定义的对象可以指向其中的对象。还介绍了两种排序方法。一种选择排序法,一种插入排序法。选择排序法是扫描整个数列找到最小值。然后依次与第一,第二,第三位的数交换位置。而插入排序法则是,先比较前两个数,然后将最小值放在前面,然后依次进行。还介绍了两种搜索方式,一种是线性搜索,一种是二分搜索。线性搜索就是一个一个的依次进行排查。而二分搜索就是要先将数列进行排序,不断地取中点元素,最后找到想要的数值。
教材学习中的问题和解决过程
- 问题1:有关引用变量与对象的关系。
问题描述:在实现多态的过程中,涉及到了引用变量和对象的区别。对此我有些疑惑。 - 问题1解决方案:网址。然后我有了自己的理解,那就是引用变量相当于一个复制件,虽然使用的时候会和对象产生类似的效果,但他不是对象。只是访问对象的一个途径,同时他的更改也不会对对象产生影响。
- 问题2:怎么解决排序过程中的数据交换的问题,在进行排序时的时候会有数据交换的地方。但是不能直接交换像这样。int[1]=int[2];int[2]=int[1];这就实现不了数据交换的目的。
- 问题2解决方案:后来看到了例子10.4Sorting,其中引入了交换变量的概念,即在交换数据前,现将其中的一个数据储存在交换变量中,然后再进行数据如“temp=int[2]”int[2]=int[1]"int[1}=temp"
。
代码调试中的问题和解决过程
- 问题1:在进行作业10.5的时候输出的结果不是很对。
- 问题1解决方案:作业pp10.5本来是实现movies中的电影名字的排序的所以我将第八章中的例子粘了过来但是发现输出的结果有错,所以我就将DVDCollection中的toString方法重写了,后来将类中的toString方法重写后,解决了。
代码托管
上周考试错题总结
- 错题1
解析:这道题,知道就好了。
- 错题2
解析:这道题,我想到了Object类没有父类,所以选的所有的类只有0或1个父类,不过老师说不考虑Object类,所以我错了。
- 错题3
解析:这道题略有超纲,这属于第十章的内容。不过我现在有些懂了,那就是父类的对象可以用在子类中,但是在使用时需要具体确定对象的所属类,这就是多态。
- 错题4
解析:这是错误的,因为子类不需要使用super保留字也能使用父类的私有变量。
- 错题5
- 解析:这道题说的是子类不能重新定义继承的变量的数据类型,这是错误的。
- 错题6
- 解析:这道题是错误的因为子类不仅能访问父类中受保护的对象和公共的对象还能访问父类中的私有属性。
- 错题7
- 解析:这是错误的,因为不仅类可以被派生,接口也可以,除非使用了final修饰符进行了修饰。
- 错题8
- 解析:抽象类的方法必须被全部实现,而不是仅仅继承就可以了。
结对及互评
结对对象
- 20172301 郭恺
- 值得学习的地方或改正的问题:问题记录详细,解答准确易懂。博客制作精美,吸人眼球。并且错题也使用了截图。这是最让我关注的一点。
- 20172328 李馨雨
- 李馨雨同学的博客色系温馨,能体现出女生特色。而且博客详实,易懂,不过希望博客可以在色彩排版等方面更进一步。
其他(感悟、思考等,可选)
本周不仅进行了第十章的学习同时又开课一个编程项目,那就是结对编程--四则运算,这真的是很烧脑。不过还好总算是坚持了下来,不知道前方还有多少艰难险阻等着我们,不过开弓没有回头箭,既然选择了这一职业,那也没有办法,只能坚持的走下去。希望我能承受住越来越多的考验,最后能成长为一名合格的程序员。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 75/200 | 1/2 | 20/20 | |
第二周 | 338/500 | 1/4 | 18/38 | |
第三周 | 516/1000 | 1/7 | 22/60 | |
第四周 | 1296/1300 | 1/4 | 30/90 | |
第五周 | 615/2839 | 1/5 | 20/110 | |
第六周 | 610/3449 | 2/7 | 20/130 | |
第七周 | 719/4108 | 1/8 | 30/160 | |
第八周 | 961 /5069 | 2/10 | 25/185 |
-
计划学习时间:30小时
-
实际学习时间:25小时