• 第四周学习总结


    20182319 2019-2020-1 《数据结构与面向对象程序设计》第四周学习总结

    教材学习内容总结

      这一章的名字是编写类,但你如果要做一个东西,你至少要知道这个东西到底是什么,由什么东西构成以及包括哪些种类,对吧,所以说这一章虽然是叫做“编写类”,但其实它也包括了许多对于类的简介和一些对于他们的分类。
      类的定义和一些比较基本的东西我就不说了(还是说一声,主要是有方法、参数,然后其中我觉得比较重要的是静态成员和重载(还好这个c++中也差不多)),这些东西在以前的章节中也有一定的介绍,在c++中也有一定的相似之处。所以说这一章也并没有那么陌生,学起来也是相对来说比较容易上手的。
      当然,又不是同一种语言,而且c++我学得也比较粗浅,所以还是有许多可学之处的。就比如说uml图,我就听都没有听说过。然后学了一下,感觉难度不是特别大。

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

    这一章确实比较基础,大部分也和c或c++有异曲同工之处,所以也没有太多的问题。

    • 问题1:this这个东西到底有什么用啊?我在我自己的类里面我还要再指明这个是我的吗?这个不就感觉像在自己家里说家里的电视是我的吗?好像有点鸡肋。
    • 问题1解决方案:但当我多看了点书后,终于发现,它好像真的不是鸡肋,这个看似普通的保留字,其实在用的时候还是会比较舒服的。怎么说呢,当你需要从外部引入一个变量给某一个数时,你可能需要给它一个名字,但众所周知,java取名字讲究美感,所以我们尽可能地希望它可以和原来那个名字是差不多的,最好就是一样的,但完全一模一样又不可能,于是,就是this登场的时候了,因为它可以告诉别人这个是原来的类中被引用的,于是就可以比较方便地“重名”。
    • 问题2:因为对uml这种画图类型的软件没有过接触,所以不太会用。
    • 问题2解决方案:首先,我知道如果不思考,那么你干什么事情,即使做得再好也是白搭,而如果面对那些你不会的,直接就去问,你也相当于什么都没有做,所以我先是把自己不会的地方先记录下来:不知道怎么加框,不知道怎么加线。这个有点像基本概念,其实只要问一下同学就好了,但我觉得不如看别人做再思考来得深刻,所以我先看了一下别人如何画框,发现是用了一个class的东西,那么我就猜测其它的应该也可以在不远的地方用英语,找到,然后果然在下面找到了dependcy就搞定了。

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

    • 问题1:在第一次的coin题中,我在一个地方老是得到的是没有正面,只有反面,弄了好几次都是这样,也不知道问题出在哪里。在这里插入图片描述
      在这里插入图片描述
    • 问题1解决方案:其实后来仔细一看,还是发现了问题,其实这个问题还是比较常见的,无论在哪个地方都可能会看到这个问题,就是我每次对face改成tail后,我都没有再把它赋成heads,于是face一直是tail。
    • 这个问题是一个很常见也很隐蔽的问题,我们在一般做的时候总是会忘了给一个变量进行重复赋初值,然后就十分容易出错,这个问题是值得反思和积累的。

    代码托管

    在这里插入图片描述

    上周考试错题总结

    • 错题1
      The behavior of an object is defined by the object's
      A .instance data
      B .constructor
      C .visibility modifiers
      D .methods
      E .all of the above
      正确答案:D
      错误原因与经验教训:其实我本来的想法是如果有一个选择方法在,由一个参数决定是否执行一些操作的话,这不就是由参数决定了吗?但我忽视了其实这一切也是通过对方法的操作来实现,而且选择方法本身就是一个方法(这就尴尬了)。
    • 错题2
      Instance data for a Java class
      A .are limited to primitive types (e.g., int, float, char)
      B .are limited to Strings
      C .are limited to objects(e.g., Strings, classes defined by other programmers)
      D .may be primitive types or objects, but objects must be defined to be private
      E .may be primitive types or objects
      正确答案:E
      错误原因与经验教训:java的实例化数据其实并不只有一些,还有原始类型
    • 错题3
      An example of passing message to a String where the message has a String parameter would occur in which of the following messages?
      A .length
      B .substring
      C .equals
      D .toUpperCase
      E .none of the above, it is not possible to pass a String as a parameter in a message to a String
      正确答案:C
      错误原因与经验教训:其实我觉得这一题错得还是有点冤的,一个是因为我没有看懂题目,另一个是因为我没有想到用equals就得把一个字符串传给另一个。
    • 错题
      正确答案:4
      What happens if you declare a class constructor to have a void return type?
      A .You'll likely receive a syntax error
      B .The program will compile with a warning, but you'll get a runtime error
      C .There's nothing wrong with declaring a constructor to be void
      D .The class' default constructor will be used instead of the one you're declaring
      E .None of the above
      错误原因与经验教训:其实这个是书上的一句差不多的话,但我当时没有注意到,我是知道构造方法是不可以有返回值的,但我确实没有看到书上说的边void也不可以用的那句话,这个题错得不亏,但我得把这个题目记下来,争取下次不犯。
    • 错题 5
      The interface of a class is based on those data instances and methods that are declared public.
      A .true
      B .false
      正确答案:A
      错误原因与经验教训:这个确实是我的知识盲区,就只好记下了。

    结对及互评

    评分:

    • 基于评分标准,我给本博客打分:14分。得分情况如下:
      正确使用Markdown语法+1
      模板中的要素齐全+1
      教材学习中的问题和解决过程, 一个问题加1分+1
      代码调试中的问题和解决过程, 一个问题加1分+2
      本周有效代码超过300分行的+2

    其他加分:

    • 感想,体会不假大空+1
      • 排版精美的+1
      • 进度条中记录学习时间与改进情况+1
      • 有动手写新代码+1
      • 课后选择题有验证+1
      • 点评认真,能指出博客和代码中的问题+1
      • 结对学习情况真实可信+1

    评价

    • 博客中值得学习的或问题:
      他的知识点整理得是真的十分不错,井井有条,可以方便人查看,但我们也可以看到的是他的错题整理得不够深入,希望下次有所改进。

    点评过的同学博客和代码

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

    主要是来自这周的错题总结,感觉有时候即使看过书了,还是会有一些小的点不太清楚,这个时候就体现了反复复习和考试的重要性,可以督促我们扫清盲点,不留漏洞。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
    目标 5000行 30篇 400小时
    第一周 62/100 1/1 30/20
    第二周 250/300 5/3 47/40
    第三周 869/600 6/6 65/60
    第四周 869+386/1000 8/8 82/85
  • 相关阅读:
    用户与组
    初识linux
    权限管理
    认识vim 编辑器
    文件归档
    路由相关术语
    Access、Hybrid和Trunk
    #error作用
    交换芯片收发包的 DMA 实现原理
    linux网络学习
  • 原文地址:https://www.cnblogs.com/ydfy/p/11614444.html
Copyright © 2020-2023  润新知