20172307 2017-2018-2 《程序设计与数据结构》第8周学习总结

20172307 2017-2018-2 《程序设计与数据结构》第8周学习总结

教材学习内容总结

1.多态性可以理解为多种形式。多态性引用能够随时间变化指向不同类型的对象。
2.通过继承来实现多态性。原理是用类名声明一个引用变量时,这个引用变量可以指向该类的任何一个对象,而且也能引用通过继承与它声明的类型有关的任何类的对象。
3.通过接口来实现多态性。原理和继承类似,接口名也可以用做声明对象引用变量的类型。
4.排序:

  • 选择性排序:扫描整个数列找到最小值,把最小值与第一个位置的数调换位置,以此类推,第二小的和第二个位置的数调换
  • 插入法排序: 从第二个数开始与前面的数依次与前面的数比较,再插入前面的数中。

5.搜索:

  • 线性搜索:从第一个端点开始,以线性的方式依次搜索。
  • 二分搜索:对有序数列进行二分法的搜索。

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

  • 问题1:做自测题10.4发生错误。具体题目:
     MusicPlayer mplayer = new MusicPlayer();
     CDPlayer cdplayer = new CDPlayer();
     mplayer = cdplayer;

其中MusicPlayer类是CDPlayer类的父类。

  • 问题1解决方案:通过后面的参考答案,了解到这句是合法的,CDPlayer作为MusicPlayer的子类,也是一种MusicPlayer。相反的cdplayer不能被mplayer赋值,因为mplayer不一定是cdplayer。
  • 问题2:对多态性这个概念还是不太理解,对它到底是一个属性还是什么东西不太清楚。
  • 问题2解决方案:通过在网上资料的查找,算是有了一个更加清晰的认识:多态性指的是不同的类的对象可以对同一信息进行不同的反应,信息指的是调用方法。
    参考至(Java多态性理解)

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

  • 问题1:在做PP10.5时直接调用Sorting里面的方法,结果显示数组不支持该方法
    1333086-20180503194037603-222553725.jpg

  • 问题1解决方案:原因是因为DVDCollection没有实现Compare接口。当初对Compare接口如何实现不太懂,这次之后算是有所了解了

代码托管

1333086-20180503193430313-1750506810.jpg

1333086-20180503193446723-243467211.jpg

上周考试错题总结

  • We compare sorting algorithms by examining
    A . the number of instructions executed by the sorting algorithm
    B . the number of instructions in the algorithm itself (its length)
    C . the types of loops used in the sorting algorithm
    D . the amount of memory space required by the algorithm
    E . whether the resulting array is completely sorted or only partially sorted
    正确:A 错误:D
    解析:比较算法时,效率是基本标准。一般来说一种排序算法的执行的比较操作比另一种算法更多,则前者便是效率更低的算法。
  • Polymorphism is achieved by
    A . overloading
    B . overriding
    C . embedding
    D . abstraction
    E . encapsulation
    正确:B 错误:D
    解析:实现多态性的方式应该是方法的重写。
  • Comparing the amount of memory required by selection sort and insertion sort, what can one say?
    A . Selection sort requires more additional memory than insertion sort
    B . Insertion sort requires more additional memory than selection sort
    C . Both methods require about as much additional memory as the data they are sorting
    D . Neither method requires additional memory
    E . None of the above
    正确:D 错误:A
    解析:选择排序和插入排序都不需要额外的内存空间。
  • Can a program exhibit polymorphism if it only implements early binding?
    A . Yes, because one form of polymorphism is overloading
    B . No, because without late binding polymorphism cannot be supported
    C . Yes, because so long as the programs uses inheritance and/or interfaces it supports polymorphism
    D . Yes, because early binding has nothing to do with polymorphism
    E . none of the above
    正确:A 错误:B
    解析:利用重载,可以实现只有前绑定的情况下实现多态性。

结对及互评

  • 本周结对学习情况
    • 20172311
    • 本周和晓海同学一起完成结对项目,晓海同学帮助我了很多,像是博客的排版什么的也给我很多建议,在这里对他表示由衷的感谢。希望接下来的合作能更加愉快。
  • 上周博客互评情况

其他

本周的学习有些慢了吧,拖了很久才把第十章学完,下一周要加快进度。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5001/318/38
第三周500/10001/422/60
第四周300/13001/530/90
第五周700/ 20001/630/120
第六周792/27921/730/150
第七周823/35591/830/180
第八周774/43333/930/ 210

参考资料

转载于:https://www.cnblogs.com/20172307hyt/p/8981755.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值