1. 程式人生 > >20172315 2017-2018-2 《程序設計與數據結構》第八周學習總結

20172315 2017-2018-2 《程序設計與數據結構》第八周學習總結

ive def 位置 index.php 執行 protect using 學習 ext

學號 2017-2018-2 《程序設計與數據結構》第八周學習總結

教材學習內容總結

  • 後綁定對於多態性的引用要延遲到程序運行時才能執行。
  • 後綁定的效率低於編譯階段的綁定效率
  • 繼承可用來實現多態性
  • 接口可用於實現多態性
  • 選擇排序通過比較大小交換位置實現排序
  • 插入排序通過比較大小依次挪動位置實現排序
  • 選擇排序和插入排序都有n方的效率
  • 線性搜索不需要有序的數組,依次逐個進行搜索
  • 二分搜索需要有序的數列,進行二分搜索
  • 二分搜索效率高於線性搜索

教材學習中的問題和解決過程

  • 問題1:對於書上的Speaker current = new Philosopher();語句不太懂其中含義
  • 問題1解決方案:該語句是將Philosopher對象指向Speaker接口引用變量。
  • 問題2:如果二分搜索的對象是偶數的話該如何進行
  • 問題2解決方案:老師課堂講解後知道是取2個中點的第一個進行二分搜索

代碼調試中的問題和解決過程

  • 問題1:XXXXXX
  • 問題1解決方案:XXXXXX
  • 問題2:XXXXXX
  • 問題2解決方案:XXXXXX
  • ...

代碼托管

技術分享圖片

(statistics.sh腳本的運行結果截圖)

上周考試錯題總結

  • 錯題1及原因,理解情況
    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
    正確答案: A
    你的答案: C
    protected的項目可由定義它們的類的任何子類訪問,而private項不能被任何其他類訪問。
  • 錯題2及原因,理解情況
    Abstract methods are used when defining
    A . interface classes
    B . derived classes
    C . classes that have no constructor
    D . arrays
    E . classes that have no methods
    正確答案: A
    你的答案: B
    接口是一個定義了它的一些組件的類,但是會留下其他方法以供實現。
  • 錯題3及原因,理解情況
    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
    正確答案: A
    你的答案: E
    Java支持繼承,但不支持多重繼承,所以Java類可以有任意數量的子類元素,但只有一個父類元素。
  • 錯題4及原因,理解情況
    A derived class has access to all of the methods of the parent class, but only the protected or public instance data of the parent class.
    A . true
    B . false
    正確答案: B
    你的答案: A
    由於方法也可以聲明為private,任何private方法都不能被派生類訪問。
  • 錯題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
    正確答案: E
    你的答案: B
    super保留字提供了訪問父類的方法和實例數據(不管它們是否隱藏)的機制。 另外,可以使用super訪問父類的構造器。

    結對及互評

點評模板:

  • 博客中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 代碼中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 基於評分標準,我給本博客打分:XX分。得分情況如下:xxx

點評過的同學博客和代碼

  • 本周結對學習情況
    • 結對同學學號1
    • 結對學習內容
      • 第十章
  • 上周博客互評情況
    • 20172318

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 200/200 2/2 20/20
第二周 287/481 2/4 18/38
第三周 320/801 3/7 22/60
第四周 900/1600 2/9 30/90
第五周 807/2407 2/11 40/130
第六周 619/3023 2/13 40/170
第七周 621/3644 2/15 40/210
第八周 805/4364 2/17 40/250

參考資料

  • 《Java程序設計與數據結構教程(第八版)》

  • 藍墨雲

20172315 2017-2018-2 《程序設計與數據結構》第八周學習總結