zoukankan      html  css  js  c++  java
  • 2019-2020-26 《数据结构与面向对象程序设计》第5周学习总结

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

    教材学习内容总结

    1. 保护可见性提供了继承之间最恰当的封装机制
    2. 可以使用super引用来调用父类的构造方法
    3. 子类可以重写(重定义)继承自父类的方法

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

    • 问题1:父类与子类的关系

    • 问题1解决方案:先有父类,再有子类,先析构子类,再析构父类
      第一,子类对象在创建时会首先调用父类的构造函数
      第二,父类构造函数执行结束后,执行子类的构造函数
      第三,当父类的构造函数有参数时,需要在子类的初始化列表中显示调用
      第四,析构函数调用的先后顺序与构造函数相反

    • 问题2:每个继承的类代表的什么关系

    • 问题2解决方案:每个继承的类该代表一种is-a关系

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

    • 问题1:如何建立tostring函数
    • 问题1解决方案:按alt+insert键,选择tostring

    -问题2:如何多选几个函数?
    -问题2解决方案:按住Ctrl,鼠标右键选择

    [代码托管]

    上周考试错题总结

    • 错题1.The instruction super( ); does which of the following?
      A .calls the method super as defined in the current class
      B .calls the method super as defined in the current class'parent class
      C .calls the method super as defined in java.lang
      D .calls the constructor as defined in the current class
      E .calls the constructor as defined in the current class'parent class
    • 解析:instruction super表示对当前类的父类中某些内容的调用。因为除了super()之外没有消息,所以它是对父类构造函数的调用。
    • 错题2.If a programmer writes a class wanting it to be extended by another programmer, then this programmer must
      A .change private methods and instance data to be protected
      B .change public methods and instance data to be protected
      C .change all methods to be protected
      D .change the class to be protected
      E .none of the above, the programmer does not have to change anything
    • 解析:受保护项可由定义它们的类的任何子类访问,而私有项不能由任何其他类访问。因此,以前定义的私有项现在必须受到保护。先前定义的公共实体应保持公共,以便所有其他类仍然可以访问这些公共实体。不应公开以前定义的私有项,因为这将允许所有类访问它们,而不仅仅是子类。
    • 错题3.All classes in Java are directly or indirectly subclasses of the ________ class.
      A .Wrapper
      B .String
      C .Reference
      D .this
      E .Object
    • 解析:Java要求所有类都有父类。如果一个类不扩展另一个类,则默认情况下,它扩展对象类。因此对象类是Java中所有其他类的父类或父类。
    • 错题4:Which of the following is true regarding Java classes?
      A .All classes must have 1 parent but may have any number of children (derived or extended) classes
      B .All classes must have 1 child (derived or extended) class but may have any number of parent classes
      C .All classes must have 1 parent class and may have a single child (derived or extended) class
      D .All classes can have any number (0 or more) of parent classes and any number of children (derived or extended) classes
      E .All classes can have either 0 or 1 parent class and any number of children (derived or extended) classes
    • 解析:Java支持继承,但不支持多重继承,因此Java类可以有任意数量的子节点,但只有一个父级。此外,由于所有Java类都直接或间接从对象类继承,因此所有Java类只有一个父类。
    • 错题5:Using the reserved word, super, one can
      A .access a parent class'constructor(s)
      B .access a parent class'methods and instance data
      C .access a child class'constructor(s)
      D .access a child class'methods and instance data
      E .none of the above
    • 解析: 超级保留字提供了一种访问父类的方法和实例数据(不管它们是否隐藏)的机制。此外,可以使用super访问父类的构造函数。所以正确答案是a和b的组合,这不是一个选项,所以正确答案是e。
    • 错题6:If you instantiate an Abstract class, the class or object you wind up with
      A .is also an Abstract class
      B .is a normal class
      C .is an Interface
      D .is a reference to an Object
      E .can't exist you cannot instantiate an Abstract class
    • 解析:你只能实例化具体的类而不是抽象的类。但是您可以扩展抽象类和接口。
    • 错题7:The protected visibility modifier provides the best possible encapsulation that permits inheritance.
      A .true
      B .false
    • 解析:protected尽可能地限制可见性,同时仍然允许继承。在某些方面,受保护的“广告”应使用继承权。

    点评:

    • 博客中值得学习的或问题:
      • 对课本,代码进行多方位的思考。
      • 认真寻找自己的不足之处。
      • 举例说明问题。
    • 代码中值得学习的或问题:
    • 基于评分标准,我给本博客打分:14分。得分情况如下:
      • 感想,体会不假大空的加1分
      • 排版精美的加一分
      • 结对学习情况真实可信的加1分
      • 正确使用Markdown语法
      • 模板中的要素齐全(加1分)
      • 错题学习深入的加1分
      • 点评认真,能指出博客和代码中的问题的加1分
      • 教材学习中的问题和解决过程, 加5分
      • 代码调试中的问题和解决过程,加2分

    点评过的同学博客和代码

    • 本周结对学习情况
      • 赵沛凝20182301

      • 结对照片

      • 结对学习内容

        • 函数调用(IDEA快捷键)
        • 计算器改编
    • 上周博客互评情况

    其他(感悟)

    对IDEA的了解更加深刻,学习了继承及有关内容

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 26/200 2/2 7/7
    第二、三周 235/327 3/5 15/23
    第四周 123/450 2/7 8/31
    第五周 850/1300 2/9 9/40
    • 实际学习时间:9小时

    参考资料

  • 相关阅读:
    C#中Equals和= =(等于号)的比较)(转载)
    C# 控制台应用程序输出颜色字体
    c#获取当前运行程序所在的目录
    java环境配置
    c#随机产生颜色
    Git学习
    git删除所有提交历史记录
    git忽略项gitegnore配置
    不搭建git服务器对git仓库进行局域网内共享多人合作开发项目
    搭建Git服务器-SCM-Manager
  • 原文地址:https://www.cnblogs.com/20182326lyj/p/11632616.html
Copyright © 2011-2022 走看看