20162303 2016-2017-2 《程序设计与数据结构》第六周学习总结
20162303 2016-2017-2 《程序設計與數據結構》第六周學習總結
教材學習內容總結
- 通過繼承來創建類,比從零開始編寫代碼來的更快、更容易也更經濟。
- 繼承在父類與子類之間建立了is-a關系。
- 子類的實例不依賴于父類的實例。
- 繼承是單向的。
- 變量或方法聲明為保護可見性時,其封裝性不如聲明為私有時嚴格,但比聲明為公有時要好。UML類圖中,在保護成員加上#說明保護可見性。
- 構造方法不能繼承。
- super可用在一個類中,用來指向其父親。
- 子類可以重寫(重定義)繼承自父類的方法。
- 派生于父類的子類還可以是自己子類的父類,形成了類層次。
- 公共特性應該放到類層次中盡可能高的位置上。
- 抽象類不能實例化,它提供的概念可由其他類定義。在UML類圖中,抽象類和抽象方法的名稱用斜體表示。
- 私有成員也被子類繼承,但不能通過名字直接引用。可以間接引用。
- 使用final修飾符可以限制繼承。
教材學習中的問題和解決過程
- 問題1:程序8.1,8.2,8.3三個存在父子類關系,但他們之間的關系不是特別清楚,通過書上的UML圖就可以清晰明了的看出他們的繼承關系。
代碼調試中的問題和解決過程
- 問題1:沒有理解程序8.10、8.11、8.12中的具體算法
- 首先通過8.10調用8.12,8.12Pizza類繼承于8.11FoodItem。
代碼托管
(statistics.sh腳本的運行結果截圖)
上周考試錯題總結
- 錯題1 An array declared as an int[] can contain elements of different primitive types.(用int[]聲明的數組,元素類型可以是所有基本類型)錯誤。
 已聲明具有特定類型的數組可能只包含該類型的元素。在這種情況下,數組只能包含整數。
- 錯題2 Suppose we wanted to process a text file called “input.txt” using the Scanner object. Which of the following lines of code correctly creates the necessary Scanner object?(假如我們想用Scanner對象處理文件名為“input.txt”的文本文件,下面哪行代碼正確的創建了Scanner對象) 
 A .Scanner inputFile = new Scanner(“input.txt”);
 B .Scanner inputFile = new Scanner(new InputFile(“input.txt”);
 C .Scanner inputFile = new Scanner(new File(input.txt);
 D .Scanner inputFile = new Scanner(new InputFile(input.txt);
 E .Scanner inputFile = new Scanner(new File(“input.txt”);
 正確答案: E
 掃描儀構造函數需要將文件對象引用為參數,所以選擇A、B和D是不正確的。文件對象的構造函數包含一個字符串,所以選擇C是不正確的。因此,選擇E是正確的。
- 錯題3 Which of the following statements best describes the flow of control in the main method of a Java program that has no conditionals or loops? (在沒有條件和循環語句的情況下,對于Java程序中main方法的描述,下面哪個選項最為合適?) 
 A .Program statements are all executed at the same time.(程序語句同時執行)
 B .Program statements are executed according to their priority, which is specified by the programmer.(程序語句根據程序員指定的優先級按優先級執行)
 C . Program statements are executed linearly, with earlier statements being executed first.(程序語句順序執行,前面的語句先執行)
 D .Program statements are executed linearly, with later statements being executed first.(程序語句順序執行,后面的語句先執行)
 E . Some program statements are executed at the same time, and others are executed in a linear manner. (有的程序語句同時執行,有的語句順序執行)
 正確答案: C
 java程序中的程序語句的執行線性當沒有條件語句或循環。這意味著在代碼中出現較早的語句在代碼后面出現的語句之前執行。
- 錯題4 輸入"cd"命令并按回車鍵后,將會出現什么情況? 
 A .從當前目錄切換到根目錄
 B .屏幕顯示當前目錄
 C .從當前目錄切換為上一級目錄
 D .從當前目錄切換到用戶主目錄
 正確答案: D
 cd 等價于cd ~,也就是cd /home/userXXX
- 錯題5 已知某用戶stud1,其用戶目錄為/home/stud1。如果當前目錄為/home,使用一下哪個命令后可以進入/home/stud1/test? 
 A .cd home B .cd stud1/test C .cd /stud1/test D .cd test
 正確答案: B
 看錯了,很遺憾
點評模板:
- 基于評分標準,我給本博客打分:8分。
- 20162307
- 參考示例
點評過的同學博客和代碼
- 20162307
- 20162306
- 20162322
- 20162321
- 20162318
- 20162326
- 20162314
其他
這周的時間也比較少,所以內容也比較少,相對來說學習的進度還是比較快的,學的也比之前順暢多了。學習進度條
| 代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
|---|---|---|---|---|
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 75/75 | 1/1 | 10/10 | |
| 第二周 | 200/245 | 1/2 | 12/22 | |
| 第三周 | 363/608 | 1/3 | 18/40 | |
| 第四周 | 926/1534 | 2/5 | 30/70 | |
| 第五周 | 1121/2655 | 1/6 | 20/90 | |
| 第六周 | 328/2983 | 1/7 | 10/100 | 
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
 耗時估計的公式
 :Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法
- 計劃學習時間:20小時 
- 實際學習時間:10小時 
- 改進情況: 
(有空多看看現代軟件工程 課件
 軟件工程師能力自我評價表)
參考資料
- 《Java程序設計與數據結構教程(第二版)》 
- 《Java程序設計與數據結構教程(第二版)》學習指導 
轉載于:https://www.cnblogs.com/syx390234975/p/6681669.html
總結
以上是生活随笔為你收集整理的20162303 2016-2017-2 《程序设计与数据结构》第六周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        