黑暗中奔跑,看不清颜色,胜负未定,让你半子又何妨?------ ydfy的csdn

ydfy

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
posted on 2019-09-30 23:07  ydfy  阅读(309)  评论(4编辑  收藏  举报