20162307 第7周学习总结

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

教材学习内容总结

关键摘要:

  • 1.多态引用在不同的时候可以指向不同类型的对象

  • 2.多态引用在运行时才将方法调用与它的定义绑定在一起

  • 3.对象的类型,而不是引用的类型,决定调用的是方法的哪个版本。

  • 4.接口是一组抽象方法,所以不能被实例化。

  • 5.继承可适用于接口,所以一个接口可派生于另一个接口。

  • 6.在侦听器和所侦听组件之间建立关系是通过多态完成的。


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

  • 问题:继承如何支持多态性?
  • 解决:上网查找。
  • 通过继承中超类对象引用变量引用子类对象来实现
//定义超类superA 
  class superA 
  { 
  int i = 100; 
  void fun() 
  { 
  System.out.println(“This is superA”); 
  } 
  } 
  //定义superA的子类subB 
  class subB extends superA 
  { 
  int m = 1; 
  void fun() 
  { 
  System.out.println(“This is subB”); 
  } 
  } 
  //定义superA的子类subC 
  class subC extends superA 
  { 
  int n = 1; 
  void fun() 
  { 
  System.out.println(“This is subC”); 
  } 
  } 

  class Test 
  { 
  public static void main(String[] args) 
  { 
  superA a; 
  subB b = new subB(); 
  subC c = new subC(); 
  a=b; 
  a.fun(); (1) 
  a=c; 
  a.fun(); (2) 
  } 
  } 

运行结果:
This is subB
This is subC

上述代码中subB和subC是超类superA的子类,我们在类Test中声明了3个引用变量a, b, c,通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。
java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。

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

  • 问题:敲书上的程序,结果编译运行后会出现很多的错误。
  • 解决:先和书上的代码对照,发现并没有敲错,所以看了同学的博客,更改了代码。最后编译运行成功

代码托管

上周考试错题总结

  • 错题1及原因,理解情况

    • 下面哪条命令可以把 f1.txt 复制为 f2.txt ?
      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及原因,理解情况

    • Which of the following method headers is most likely a header for a mutator method?(以下哪个方法头部最有可能是设值方法的头部?)
      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(以上均不是设值方法的头部)
  • 错题3及原因,理解情况

    • A _______________ variable is shared among all instances of a class(_____变量由类的所有实例共享).
      A .static
      B .final
      C .public
      D .private
      E .none of the above(以上都不是)
  • 错题4及原因,理解情况

    • A(n) ________________ is a step-by-step process for solving a problem(___是为了解决问题而进行的一步步的处理过程).
      A .UML diagram(UML类图)
      B .aggregate object(对象聚合)
      C .class(类)
      D .algorithm(算法)
      E .none of the above(以上均不是)
  • 错题5及原因,理解情况

    • All methods (with the exception of constructors) must specify a return type. What is the return type for a method that does not return any values? (所有方法必须指定一个返回值类型(构造方法除外),以下哪个方法的返回值类型不返回任何值?)
      A .int
      B .public
      C .double
      D .void
      E .none of the above(以上均不是)
  • 错题6及原因,理解情况

    • 下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
      A .od -b -tx1 Hello.java
      B .od -tcx1 Hello.java
      C .od -tc -tx1 Hello.java
      D .od -tbx1 Hello.java
    • -b 是以八进制输出
  • 错题7及原因,理解情况

    • The original class that is used to derive a new class using inheritance is called ____________________ (通过继承派生出新类的原有类称为____).
      A .a superclass(超类)
      B .a parent class(父类)
      C .a base class(基类)
      D .all of the above(以上都正确)
      E .neither a, b, nor c(以上都不正确)
  • 错题8及原因,理解情况

    • A class declared as final _________________________________ (声明为final的类_____).
      A .cannot be changed(不能更改).
      B .cannot have subclasses(不能拥有子类).
      C .cannot have superclasses(不能拥有超类).
      D .has several abstract methods(具有几个抽象方法).
      E .cannot be used in a program(不能在程序中调用).

结对及互评

  • 基于评分标准,我给本博客打分:7分。

  • 参考示例

点评过的同学博客和代码

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

这周有三堂课,考了两次试,做了一次实验。这周的学习量比较大,实验内容太多。
每个人对事物的理解程度是不同的,这就导致了学习效率不同,对同一件事付出的时间就是不同的,我们还是要提高我们的学习效率,这样才能节省我们的时间,去扩展我们的视野。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 72/72 1/1 20/20
第二周 267/339 1/2 18/38
第三周 297/636 1/3 22/60
第四周 719/1355 2/5 30/90
第五周 640/1995 1/6 20/110
第六周 698/2693 1/7 20/130
第七周 358/3047 2/9 20/150

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:20小时

  • 实际学习时间:20小时

  • 改进情况:

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

参考资料

posted @ 2017-04-16 13:45  张韵琪  阅读(171)  评论(3编辑  收藏  举报