1.子類和父類的關係、抽象類php
2.保留字super和可見性修飾符protectedhtml
3.類的層次結構及繼承方式java
問題1解決方案:針對super的做用,一直沒有理解究竟是什麼意思,調用父類的構造方法,有什麼做用,父類的構造方法內包含的參數,在子類的構造方法內去建立不也是能夠的麼?可是,經過在打PP9.3的例子,發現本身經過編寫ReadMaterial父類和novel等五個子類的過程發現,super在實際編寫過程當中的簡便,針對和父類構造方法中相同的參數,能夠省去很大一部分去編寫相關的方法,經過繼承的方式就能夠,並且這樣的調用構造方法,省去了很多力氣。很大程度上的細化了父類方法,使子類有更強的針對性。==比如生物界的分類同樣,把各類各樣的生物分爲域、界、門、綱、目、科、屬、種,層層細化,域比如是最最原始的父類,不斷經過繼承細化父類的方法、擴充父類的方法,成爲一個繼承一個的子類。==可見性修飾符protected是一種不一樣於可見性修飾符public和private的獨特一種。git
- 使用super引用能夠調用父類的構造方法。
- 當一個變量或方法聲明爲protected可見性時,子類就能夠引用它,而且使父類保持了必定的封裝性。protected可見性時的封裝性不如private可見性嚴格,但比public可見性更強。
問題2的解決方案:父類和子類的關係是一種經過繼承來實現的一種更細化的子類,基於父類實現的一種「擴充」,就像我在上一個問題中說的那樣,經過一個個繼承的方式不斷「擴充」子類使其方法不斷的細化,不斷的貼近具體的目標。省去了對於父類和子類的共同方法,能夠避免重複。程序員
問題3的解決方案:抽象類與接口的問題,理解的並非很深入。web
- 在面向對象的概念中,咱們知道全部的對象都是經過類來描繪的,可是反過來卻不是這樣。並非全部的類都是用來描繪對象的,若是一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。抽象類每每用來表徵咱們在對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不一樣,可是本質上相同的具體概念的抽象。
- 不一樣點:抽象類能夠含非抽象的方法和常量、數據。
- 相同點:二者都不能實例化。
問題4:類的層次結構及繼承方式
問題4的解決方案:所謂類的層次結構就是類的不斷繼承,不斷髮展,可是類的繼承是單向的,因此父類是一個簡單的,相同性方法的一個集合。經過一個又一個的子類不斷實現具體化(終於體會到面向對象的簡便)。類的繼承方式,通俗點說就是用extends
鏈接父類和子類,用於子類的繼承(簡簡單單的一個單詞就能夠把有共同特徵的內容僅寫一遍就能夠了。)編程
問題1解決方案: 這個編程項目的要求是要在第五章的Coin類上進行派生,可是對於Coin類的理解,它只不過是返回爲硬幣的正面或反面,可是本題的要求是要返回硬幣的面值,那麼「面值」到底是什麼意思?是指硬幣的正面和反面,仍是硬幣所表明的價值。藍墨雲班課答疑內,趙乾宸同窗的提問中,被斷定爲是正面和反面,可是我更傾向於返回的面值,因此我在繼承父類方法後,進行修改父類的flip方法,進行重寫方法,對於父類中原有的方法進行改寫。在改寫的同時我又進行了NumberFormat類的添加,使其輸出的面值帶有人民幣符號。(可能與老師的要求有些相違背,可是在大方向上仍是一致的。)
數組
問題2解決方案:針對9.3的編寫,自我感受沒有什麼太大的問題,就是要編寫一堆的類,經過繼承達到符合題意。因此這就要在編寫以前要進行僞代碼的編寫:
閱讀材料的共有屬性:書頁數、做者(主編)、書的類型等幾方面。經過UML的建模,進行了簡單的構圖進行表示。同時,我在針對不一樣的子類進行了不一樣的方法擴充、構造方法內參數的添加,進行更具體的表述。 經過這些子類的編寫,更加感覺到面向對象的開發到底是什麼意思了,就像個人初中數學老師說「數學來源生活,又高於生活。」java語言是服務於人類的一種高級語言,存在的意義就是便利生活中的繁雜事情,就像這道題目同樣,感受在此基礎上進行一部分的修飾和改寫,就能夠造成一個圖書館叢書的信息管理,經過輸入輸出就能夠把叢書進行整理與規劃。數據結構
- books子類中進行是否帶有圖片或拼音,進行判斷適合的人羣讀此書
- magazine子類中增添雜誌內文章數量的參數
- definitions子類中增添學術刊物發表範圍、學術學科,經過發行範圍是國家仍是全球進行判斷該學術刊物的影響力及可信度、價值等
- novel子類進行添加做者的國籍
- textbook子類進行單元的計數、叢書適合的學習科目,什麼語文、數學、天然等。
- 用UML表述的PP9.3
- 小說
- 圖書
- 雜誌
- 學術刊物
- 課本
錯題1:The "off-by-one" error associated with arrays arises because(與數組相關的「逐一個」錯誤出現是由於)oop
A.the first array index is 0 and programmers may start at index 1, or may use a loop that goes one index too far(數組索引是0,程序員能夠從索引1開始,也可使用一個索引過遠的循環。)
B.the last array index is at length + 1 and loops may only iterate to length, missing one
C.the last array element ends at length - 1 and loops may go one too far
D.programmers write a loop that goes from 0 to length - 1 whereas the array actually goes from 1 to length
錯誤解析:數組被初始化爲= new type[x]
,其中x是數組的大小數組內存放的長度。然而,該數組的索引爲0到x - 1,所以,程序員的off-by-one的問題是由於程序員將編寫代碼來嘗試訪問索引1到x,所謂的邊界檢查就是數組的長度與索引值之間的差1進行的檢查。
錯題2:if a and b are both int arrays, then a = b; will(若是a和b都是int數組,那麼a = b;
將
A.create an alias(建立一個別名)
B.copy all elements of b into a
C.copy the 0th element of b into the 0th element of a
D.return true if each corresponding element of b is equal to each corresponding element of a (that is, a[0] is equal to b[0], a[1] is equal to b[1] and so forth) and return false otherwise
錯誤解析:針對這道題,我在作的時候有點蒙,因此在百度上進行搜索,查到一個博客的內容就是針對此題的,經過對博客的快速理解,我認爲我應該選擇B,可是卻錯誤了。經過解析:「=」是一個賦值運算符。若是兩個變量都是原語,比左邊的變量副本右邊變量(若是a和b是int值,b = 5,而後將成爲5)。然而,由於a和b是數組的引用變量設置爲參考變量b,致使a和b都引用同一個數組在內存中,或者他們如今彼此的別名。是第三章的別名的知識點,就像書中所示圖例同樣,相互成爲別名,指向相同的地址、相同的對象。
A.true
錯誤解析:主方法須要參數,以防程序員但願容許用戶提供命令行參數。在java命令以後,在命令行輸入的任何內容都將被接受爲命令行參數。若是是由空格分隔的幾個單詞,那麼每一個單詞都做爲一個單獨的字符串數組元素存儲。例如,「java foo。class hi there「將在variable[0]中存儲「hi」,variable[1]中存儲「there」以供程序使用。
A.true
錯誤解析:ArrayList是做爲數組實現的,只要其中一個只是訪問ArrayList的元素,效率與數組的效率是同樣的。可是,當對ArrayList的前部分進行插入或刪除時,就會發生大量的元素複製,從而下降其效率。
基於評分標準,我給本博客打分:15分。
有動手寫新代碼的加1分
基於評分標準,我給本博客打分:9分。
1.子類和父類的關係、抽象類
2.保留字super和可見性修飾符protected
3.類的層次結構及繼承方式
第九章的內容是基於第四章和第七章繼續講解如何自創類、更簡便的使用類,經過繼承的方式,能夠把相同特徵的有關方法進行集中做爲父類,可是經過本週的編寫也發現本身在類的編寫方面有很大不足,對於簡單的能夠很清晰編寫成功,可是對於有些複雜的就不得不寫寫僞代碼、照着書上的例子進行敲碼。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 136/136 | 1/1 | 15/15 | |
第二週 | 570/706 | 1/2 | 20/35 | |
第三週 | 613/1319 | 1/3 | 23/58 | |
第四周 | 1249/2568 | 1/5 | 30/88 | |
第五週 | 904/3472 | 1/6 | 30/118 | |
第六週 | 540/4012 | 1/7 | 30/118 | |
第七週 | 826/4838 | 1/7 | 30/178 |