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


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

    教材学习内容总结

    本周学习了第九章的相关内容,主要学习了:

    • 1、后绑定:多态引用可以指向不同类型在不同的时候的对象、在运行时才将方法调用与它的定义绑在一起;
    • 2、通过继承实现多态:引用变量可以指向声明继承于它的任意类的对象;
    • 3、接口:接口层次,Comparable接口,Iterator接口;
    • 4、通过接口实现多态:事件处理

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

    • 问题:对于comparable接口的意义和用法不太理解。
    • 解决过程:通过上网查阅博客,通过对什么是comparable接口?能实现什么方法?
      以及实例,对comparable接口有了一定的了解。

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

    • 问题1、与书上代码一致却因count无法通过编译
    • 解决过程:将count删除即可(并不清楚为什么。。。。)

    代码托管

    • 代码提交过程截图:

    • 代码量截图:

    上周考试错题总结

    • 第五周测试
      1、下面哪条命令可以把 f1.txt 复制为 f2.txt ?(AC)
      A .cp f1.txt f2.txt
      B .copy f1.txt f2.txt
      C .cat f1.txt > f2.txt
      D .cp f1.txt | f2.txt
      E .copy f1.txt | f2.txt
      解析:copy是Windows下的命令。cat f1.txt > f2.txt 通过输出重定向实现了复制。

    2、以下哪类方法没有任何返回值类型(甚至没有void返回值类型)?(D)
    A .methods declared as static(声明为static的方法)
    B .methods declared as public(声明为public的方法)
    C .methods declared as private(声明为private的方法)
    D .constructors(构造函数)
    E .all of the above have return types(以上均有选项均有返回值类型)
    解析:构造函数是唯一没有任何返回类型的方法。他们甚至没有一个void返回类型。所有其他的方法必须指定返回类型或被宣布为无效。

    3、以下哪个方法头部最有可能是设值方法的头部?(D)
    A .public int getAge()
    B .public double computeSalary()
    C .public Person()
    D .public void setAge(int newAge)
    E .none of these are headers for a mutator method(以上均不是设值方法的头部)
    解析:调整器的方法,改变一个实例变量的值,通常被称为“setter。“因此,选择d是正确答案。选择的是一个头访问器方法,通常被称为“getter。“选c是一个构造函数,选择b是一个类方法。

    4、___引用总是指向当前正运行的对象.(E)
    A .null B .static C .final D .actual E.this
    解析:这个引用总是指当前执行的对象。一个空引用,不指向任何对象的引用。其他三个选择并不特别引用在Java中。

    5、___是为了解决问题而进行的一步步的处理过程.(D)
    A .UML diagram(UML类图) B .aggregate object(对象聚合) C .class(类)
    D .algorithm(算法) E .none of the above(以上均不是)
    解析:一个算法是一个循序渐进的解决方案解决问题。UML图是一种视觉代表类和对象如何交互。一个聚合对象是由一个对象,在某种程度上,其他的对象。一个类可以被认为是一组对象的蓝图。

    6、所有方法必须指定一个返回值类型(构造方法除外),以下哪个方法的返回值类型不返回任何值?(D)
    A .int B .public C .double D .void
    E .none of the above
    解析:不需要返回任何数据的方法应该无效指定为返回类型。不能有公共方法指定为返回类型,所以选择b是不正确的。选择a和选择c指定返回类型,因此他们必须返回的数据类型。

    7、____对象是由其他对象组成,或者至少是部分由其他对象组成的对象.(B)
    A .static(静态) B .aggregate(聚合) C .encapsulated(封装)
    D .private E .public
    解析:一个聚合对象是由其他对象。选择a,d和e不引用类型的对象。封装对象可能是由原始类型或对象类型。

    8、如果一个服务非常复杂,以至于不能用一个方法来实现,一般通过将方法分解成几个____支撑方法.(C)
    A .static B .aggregate(聚合) C .private(私有)
    D .public E .final
    解析:私人支持方法非常有用当服务被定义在一个单一的方法太过复杂。因此选c是正确的。

    9、在方法的结尾,返回语句不是必需的(√)
    解析:不需要返回语句的返回类型的构造函数或方法声明无效。

    • 第五周测试总结:这周考试遭遇“滑铁卢”,主要原因还是在于对于之前学习的内容没有及时复习,才导致考试时有许多基础知识出现错误,导致成绩不好。

    • 第六周测试
      1、通过继承派生出新类的原有类称为____.(D)
      A .a superclass(超类) B .a parent class(父类 ) C .a base class(基类)
      D .all of the above(以上都正确) E .neither a, b, nor c(以上都不正确)
      解析:原来的类可以被称为一个超类,父类和/或一个基类。

    2、如果子类构造函数没有显式调用超类的构造函数,那么________.(C)
    A .a run-time error will result(将产生运行时错误).
    B .a compile-time error will result(将产生编译时错误).
    C .the constructor will be called anyway(构造函数不管怎样都会被调用).
    D .the class will be implicitly declared as abstract(该子类将被隐式声明为abstract).
    E .none of the above(以上都不是)
    解析:子类的构造函数将隐式地调用超类的构造函数如果没有显式地完成。这将确保正确地初始化的类。

    3、一旦方法被子类重写,原有的方法不能再在子类中引用。(×)

    4、在Java中子类只能继承一个父类(√)
    解析:允许一个子类扩展多个父类会导致多重继承,这在Java不支持。

    5、如果有以下的程序代码:
    int[] arr1 = {1, 2, 3};
    int[] arr2 = new int[arr1.length];
    arr2 = arr1;
    for(int value : arr2) {
    System.out.printf("%d", value);
    }
    以下描述何者正确?(A)
    A .执行时显示123
    B .执行时显示12300
    C .执行时出现 ArrayIndexOutOfBoundException 错误
    D .编译失败

    结对及互评

    • 第九章的学习依旧是以概念性的内容居多,本周和李昱兴同学的及对学习还是以相互督促看视频、看教材和敲代码为主。李昱兴同学在面对高数、大物等多方面压力下还是能按时完成任务,并在周测中取得好成绩,还是很腻害的(膜拜大神~)。

    点评过的同学博客和代码

    其他

    • 这周上了三节课,又正赶上了学生会的素拓,真的是身心俱疲。。。
    • 近几周的概念性的知识比较多,发现只要认真看了视频和教材在考试中成绩都不会差,但是经过一节实验课之后发现,自己对于前几章的知识掌握的还是不够好。理论只有熟于心才能顺于手,看来这几周需要为之前“还债”了。。。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 15篇 300小时
    第一周 63/63 1/1 10/10
    第二周 349/412 1/2 20/30
    第三周 294/706 1/3 15/45
    第四周 808/1518 1/4 25/70
    第五周 561/2079 1/5 25/95
    第六周 556/2635 1/6 20/115
    第七周 377/3012 1/7 20/135

    参考资料

  • 相关阅读:
    sem_timedwait
    netty
    嵌入式系统设计师
    新知识点
    20228
    20227
    mdbook
    optparse模块使用
    TiDB集群销毁删除
    configparser模块的使用
  • 原文地址:https://www.cnblogs.com/guominxiaocao/p/6717741.html
Copyright © 2020-2023  润新知