教材學習內容總結
- 本章解釋了繼承的概念,繼承是從已有類派生新類的一個過程,是支持軟件複用思想的一種方法
- 繼承在子類與父類之間創建了"is a"關係,使用保留字extends
- 子類實例不依賴於父類實例
- 繼承是單向的
- 不容許多重繼承
- 重寫(重定義)父類方法
- 子類能夠間接引用私有成員
教材學習中的問題和解決過程
- 問題1:抽象類、抽象方法的做用是什麼?
- 問題1解決方案:抽象類表示通常的概念,有一些沒有聲明的方法,以供子類重寫。抽象方法提供方法簽名,由子類繼承它們。
- 問題2:保留字super的做用都有哪些?
- 問題2解決方案:能夠用super引用來調用父類的構造方法,也能夠進入父類的方法和實例數據(無論是否被隱藏)
代碼調試中的問題和解決過程
問題1:在java中輸入字符遇到吃回車問題
html
- 問題1解決方案:我先試着一共寫了兩個輸入暫時解決了問題。接着上網查詢,將nextline改成next也可解決此問題
問題2:在學習密碼的過程當中,運行非對稱加密的過程當中,運行程序出現了錯誤
java
問題2解決方案:要按照順序依次運行程序,不能貿然改變順序,不然會出現錯誤
git
問題3:對接口的理解不到位,不會把計算器改編爲接口形式
數據結構
問題3解決方案:我對接口的理解有誤,把接口的方法返回值類型幾乎都改成String類型。其實接口只是簡化咱們的思路,能夠把接口方法的返回值類型保持爲已編好的Complex類型,這樣會簡潔高效不少ide
(statistics.sh腳本的運行結果截圖)學習
上週考試錯題總結
- Abstract methods are used when defining
- A .interface classes
- D .arrays
- E .classes that have no methods
- An interface is a class that has defined some of its components, but leaves other components (methods) for you to implement. So, these components (methods) are referred to as abstract and defined in the interface class as abstract.
- 理解:是要重寫父類中的全部抽象方法,即接口讓咱們實現方法,而非沒有方法
- 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
- E .All classes can have either 0 or 1 parent class and any number of children (derived or extended) classes
- Further, since all Java classes inherit either directly or indirectly from the Object class, all Java classes have exactly 1 parent class.
- 理解:java類與Object類有直接看法的關係,因此每一個類都有一個父類,那Object類本身呢?
- A variable declared to be of one class can later reference an extended class of that class. This variable is known as
- D .polymorphic
- The term polymorphic means that the variable can have many forms. Under ordinary circumstances, Java is strongly defined that is, a variable, once declared to be of a type, can never change to be of a different type. The exception to this is that polymorphic variables can be any type of derived class (although not at the same time, the variable can change from one type to another).
- 理解:第九章
- In order to determine the type that a polymorphic variable refers to, the decision is made
- by the Java run-time environment at run time
- The polymorphic variable can take on many different types, but it is not know which type it has taken on until the program is executing. At the time the variable is referenced, then the decision must be made. That decision is made by the run-time environment based on the latest assignment of the variable.
- 理解:第九章
- Using the reserved word, super, one can
- A .access a parent class'constructor(s)
- B . access a parent class'methods and instance data
- E .none of the above
- The super reserved word provides a mechanism for accessing a parent class'methods and instance data (whether or not they are hidden). In addition, a parent class'constructor(s) may be accessed using super. So the correct answer is the combination of A and B which isn't an option so the correct answer is E.
- 理解:其實二者均可以
- Interface classes cannot be extended but classes that implement interfaces can be extended.
- B .false
- Any class can be extended whether it is an interface, implements an interface, or neither. The only exception to this is if the class is explicitly modified with the word "final" in which case it cannot be extended.
- 理解:前面帶final的不行
- If class AParentClass has a protected instance data x, and AChildClass is a derived class of AParentClass, then AChildClass can access x but can not redefine x to be a different type.
- B .false
- A derived class can redefine any of the instance data or methods of the parent class. The parent class'version is now hidden, but can be accessed through the use of super, as in super.x.
- 理解:能夠用super更改x的值
- You may use the super reserved word to access a parent class'private members.
- 理解:Super will allow access to all non-private members of a parent class but, not to the private ones.
結對及互評
評分標準
- 正確使用Markdown語法(加1分):
- 不使用Markdown不加分
- 有語法錯誤的不加分(連接打不開,表格不對,列表不正確...)
- 排版混亂的不加分
- 模板中的要素齊全(加1分)
- 缺乏「教材學習中的問題和解決過程」的不加分
- 缺乏「代碼調試中的問題和解決過程」的不加分
- 代碼託管不能打開的不加分
- 缺乏「結對及互評」的不能打開的不加分
- 缺乏「上週考試錯題總結」的不能加分
- 缺乏「進度條」的不能加分
- 缺乏「參考資料」的不能加分
教材學習中的問題和解決過程, 一個問題加1分測試
代碼調試中的問題和解決過程, 一個問題加1分優化
- 本週有效代碼超過300分行的(加2分)
- 其餘加分:
- 週五前發博客的加1分
- 感想,體會不假大空的加1分
- 排版精美的加一分
- 進度條中記錄學習時間與改進狀況的加1分
- 有動手寫新代碼的加1分
- 課後選擇題有驗證的加1分
- 代碼Commit Message規範的加1分
- 錯題學習深刻的加1分
- 點評認真,能指出博客和代碼中的問題的加1分
- 結對學習狀況真實可信的加1分
- 扣分:
- 有抄襲的扣至0分
- 代碼做弊的扣至0分
- 遲交做業的扣至0分
點評模板:
- 博客中值得學習的或問題:
- 本週問題總結不夠深入全面
- 對教材內容要點歸納性較強
- 代碼中值得學習的或問題:
- 基於評分標準,我給本博客打分:16分。
- 參考示例
點評過的同窗博客和代碼
- 本週結對學習狀況
- 20182302
- 結對學習內容
- 一塊兒完成第四次實驗
- 共同討論上次測試的錯題
- 討論類的層次應該如何設計
- 上週博客互評狀況
其餘(感悟、思考等,可選)
目標 |
5000行 |
30篇 |
400小時 |
|
第五週 |
1600/2900 |
2/2 |
20/110 |
|
第二週 |
300/500 |
2/4 |
18/38 |
|
第三週 |
500/1000 |
3/7 |
22/60 |
|
第四周 |
300/1300 |
2/9 |
30/90 |
|
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。加密
參考:軟件工程軟件的估計爲何這麼難,軟件工程 估計方法
計劃學習時間:20小時
實際學習時間:20小時
改進狀況:有待進一步提升
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)
參考資料