Think in Java

第1章:對象入門

1.1 抽象的進步
1.2 對象的接口
1.3 實現方案的隱藏
      Java採用三個顯式(明確)關鍵字以及一個隱式(暗示)關鍵字來設置類邊界:public,private,protected以及暗示性的friendly。若未明確指定其他關鍵字,則默認爲後者。這些關鍵字的使用和含義都是相當直觀的,它們決定了誰能使用後續的定義內容。“public”(公共)意味着後續的定義任何人均可使用。而在另一方面,“private”(私有)意味着除您自己、類型的創建者以及那個類型的內部函數成員,其他任何人都不能訪問後續的定義信息。private在您與客戶程序員之間豎起了一堵牆。若有人試圖訪問私有成員,就會得到一個編譯期錯誤。“friendly”(友好的)涉及“包裝”或“封裝”(Package)的概念——即Java用來構建庫的方法。若某樣東西是“友好的”,意味着它只能在這個包裝的範圍內使用(所以這一訪問級別有時也叫作“包裝訪問”)。“protected”(受保護的)與“private”相似,只是一個繼承的類可訪問受保護的成員,但不能訪問私有成員。

1.4 方案的重複使用
1.5 繼承:重新使用接口

     1.5.1 改善基礎類
     1.5.2 等價與類似關係
1.6 多形對象的互換使用
     1.6.1 動態綁定
          將一條消息發給對象時,如果並不知道對方的具體類型是什麼,但採取的行動同樣是正確的,這種情況就叫作“多形性”(Polymorphism)。對面向對象的程序設計語言來說,它們用以實現多形性的方法叫作“動態綁定”。編譯器和運行期系統會負責對所有細節的控制;我們只需知道會發生什麼事情,而且更重要的是,如何利用它幫助自己設計程序。
有些語言要求我們用一個特殊的關鍵字來允許動態綁定。在C++中,這個關鍵字是virtual。在Java中,我們則完全不必記住添加一個關鍵字,因爲函數的動態綁定是自動進行的。所以在將一條消息發給對象時,我們完全可以肯定對象會採取正確的行動,即使其中涉及上溯造型之類的處理。
      1.6.2 抽象的基礎類和接口
1.7 對象的創建和存在時間
             
 

發佈了49 篇原創文章 · 獲贊 15 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章