第五周总结

学号20182325袁源 《数据结构与面向对象程序设计》第5周学习总结

教材学习内容总结

继承

  • 继承是从一个已有类派生一个新类的过程。
  • 继承的目的之一是复用已有的软件。
  • 继承在父类和子类之间建立了is-a关系。
  • 子类的实例不依靠父类的实例。
  • 继承是单向的。父类不能使用子类的方法。
  • protected兼具了继承和封装。
  • 继承的同时会继承可见性修饰符的权限。
  • 继承无法使用构造方法,但super可以。即在子类的构造方法中第一行使用super调用父类构造方法。
  • Java不支持多重继承。
  • 重写允许用相同方法名改写父类的方法。
  • 可以用final修饰符使子类无法重写。
  • 隐藏变量,即与父类同名的变量。一般不使用。
  • 类层次中变化是可传递的。即父类影响子类,子类又可以作为父类影响其子类。
  • Object类直接或间接派生所有类。其定义在java.lang中。
  • toString ang equals被每一个类所继承。在类中定义即重写。可以满足特殊要求。
  • 在object中tostring是返回这个对象的字符串。equals是若对象是别名则为真,否则为假。
  • 抽象类无法实例化,提供概念由其它类定义。
  • 只要包含至少一个抽象方法就必须声明为抽象类。
  • 派生与父类的子类必须重写所有抽象方法,否则将定义为抽象类。
  • 抽象方法不可定义为Static and final否则会引起矛盾。
  • final可以用来限制继承。
  • UML中#表示protect,斜体表示抽象类。

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

  • 问题1:PP8. 6中三维几何图形,与PP8.5中理解不清
  • 问题1解决方案:请教已经完成的同学,了解后再做
  • 问题2:不明白每个符号的具体含义。
  • 问题2解决方案:可以偷偷预习,跟上进度自然会懂。

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

  • 问题1:for(Equipment EquipmentEmployee : a)意义不明
  • 问题1解决方案:第一部分是类名称,第二部分是自己随意取的名字,用于之后的应用,第三部分是数组名,整句话的作用是,循环整个数组。
  • 问题2:继承时需要注意的地方
  • 问题2解决方案:父类中有抽象方法的话,子类必须实现这个抽象方法,不然的话也是一个抽象类。如果父类中有构造方法。那么子类中必须也有构造方法。

代码托管

由于代码实在太多,加入图片反而会不清晰。具体代码只有看码云。

img

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 1570445349830
  • 1570445467736
  • 1570445669474
  • 1570445719202
  • 1570445741272
  • 1570445803406
  • 1570445863713
  • 1570445968705
  • 1570446010037
  • 1570446055638
  • 1570446067467
  • 1570446107441
  • 1570446126542
  • 1570446161859

结对及互评

  • 步入正轨之后,代码量有了长足的提升。但是他希望的代码数量和老师的希望有所差距还需改进。

评分标准

  1. 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 代码调试中的问题和解决过程, 一个问题加1分
  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:
    • 希望的代码数量和老师的希望有所差距还需改进。
    • ...
  • 代码中值得学习的或问题:
    • 用插入的方法代码简单不少。
    • 代码量提升很多。
    • ...
  • 基于评分标准,我给本博客打分:14得分情况如下:
  • 正确使用Markdown语法(加1分):
  • 模板中的要素齐全(加1分)
  • 教材学习中的问题和解决过程, 一个问题加1分 +2
  • 代码调试中的问题和解决过程, 一个问题加1分 +1
  • 本周有效代码超过300分行的(加2分)+2
  • 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 结对学习情况真实可信的加1分

点评过的同学博客和代码

  • 本周结对学习情况
    • 结对同学学号20182319
    • 结对照片1570446901918
    • 结对学习内容
      • 如何上传、接受内容。
      • 监督彼此编写代码有理数、复数。
      • 学习继承相关知识。
  • 上周博客互评情况
    20182319

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

  • 代码量特别多,但重复度也很高。有些虚高?看来6000行代码也不是不能完成的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 6000行 30篇 240小时
第一周 62/62 3/3 18/18
第三周 347/454 4/7 42/60
第四周 960/1414 2/9 23/83
第五周 689/2103 2/11 20/103

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

  • 计划学习时间:第一周暂无计划
  • 实际学习时间:20小时
  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表)

参考资料

  • 《Java程序设计与数据结构教程(第二版)》
  • 《Java程序设计与数据结构教程(第二版)》学习指导
  • ...

你可能感兴趣的:(第五周总结)