20162315马军第六周学习总结

20162315 2016-2017-2 《程序设计与数据结构》第6周学习总结

教材学习内容总结

  • 子类对象应该是更具体的父类对象

  • 父类中任一公用的方法或变量,都可以在子类中显示地通过子类的对象用名字来引用。而父类中私有的方法和变量不能在子类中引用,也不能通过子类的对象引用。

  • Java中三个可见性修饰符:
    1.private(私有的),子类实际上继承了,但无法通过名字来引用。
    2.protected(受保护的),派生类中可以引用。UML图加“#”来说明。
    3.共有的,保留与原类相同的权限。

  • super引用既可以调用父类的构造方法,PP8.1可用super引用Coin里的flip构造方法。

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

  • 问题1:书中说super可以调用父类的构造方法,那为什么不允许直接继承父类的构造方法?感觉这里的说法自相矛盾
  • 问题1解决方案:百度了一下,在一个论坛里看到了想要的答案:继承并不单继承构造方法,可能继承父类里的变量,必然会造成某些隐患。而且类的名称与构造方法相同。如果子类直接继承父类构造方法那么一个构造方法有两个类名是显然不行的。(如果想法不对请老师指出)引用源:java中子类不能直接继承构造方法的原因

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

  • 问题1:PP8.1,在其他两个类编译成功的条件下我的测试用的驱动类中显示找不到这个声明的变量。
    image
  • 问题1解决方案:修改完面币币值变量为double类型后,我的MonetaryCoin子类中局部变量没有赋值为double,还是int属性。

image

  • 问题2:PP8.1,本应该出现我录入的币值面值的位置出现的是第五章Coin类中的heads,tail(硬币正反面)。
  • 问题2解决方案:找了我的强力搭档袁逸灏同学帮我看了一下代码。发现我输出Coin面值的地方没有使用getfacevalue来输出面值,而是直接输出Coin,所以直接调用了我在Coin类里面的构造方法,显示地是硬币的正反情况。

代码托管

image
git间断性出问题,有时能用有时不能用。

结对及互评

  • 本周与袁逸灏同学关于PP8.1产生过一些交流和讨论。感谢他帮助我修正了我的代码,成功显示了硬币面值。在周日下午在听学长们的交流会时我们对一二班用c语言做的一个抽号程序如何避免产生的十个随机数号码里有重复进行了讨论,目前还在思考如何利用条件句和循环句将重复避免掉。

点评过的同学博客和代码

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

本周相对于前两个周,学习任务的数量和难度低了很多,视频还是有不少没看的,继续努力看。在周日下午听报告会的间歇和袁逸灏交流时感到java其实已经可以成为我们可以使用的工具,学习也可以不那么枯燥无味。我们仍在考虑如何避免抽号中的重复,希望在请教老师或者1,2班这个代码的编写者之前能自己找到一个解决方案。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 150/150 1/1 4/4
第二周 300/450 1/2 14/18
第三周 300/750 1/3 14/32
第四周 450/1200 2/5 14/50
第五周 600/1800 1/6 12/64
第六周 200/1800 1/7 10/74
  • 计划学习时间:10小时

  • 实际学习时间:10小时

posted @ 2017-04-09 21:08  162315  阅读(115)  评论(6编辑  收藏