Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          《Java大學教程》—第14章 抽象、繼承和接口

          自測題:
          1.    解釋抽象和抽象數據類型的概念。P333
          抽象的概念是僅僅關注對象可以完成什么工作,而不必擔心如何完成工作的細節。
          類模板通常被稱為抽象數據類型。因為這類數據暴露給用戶的所有信息僅僅是方法的描述(輸入、輸出和行為)和數據的相關信息(屬性)。

          2.    動態(運行時)綁定和靜態(編譯時)綁定的區別。P335
          編譯時綁定(compile-time binding)或靜態綁定(static binding)技術:
          當一個類的代碼被編譯后,該類的每個方法的代碼都會隨之編譯;編譯器將確保該類的對象接收一個調用其方法的消息時,
          程序都會跳轉到該方法的代碼的存儲位置--該方法的指令將會被執行,之后程序將返回最初的位置。

          運行時綁定(run-time binding)或動態綁定(dynamic binding)技術:
          每次創建一個新的對象時,必須記錄其方法存儲位置的信息;這樣對于調用哪個方法的決定可以推遲到運行時決定。

          3.
          a)    解釋Java中接口和適配器的區別。
          接口:(P336)是一個類的所有方法都聲明為抽象方法。因此實現接口時必須為該接口的所有方法編碼。
          適配器:(adapter,P348)是一個特殊的類,實現了接口的所有方法,扮演類與接口之間的中介角色,繼承適配器類就不必為所有的方法編碼。

          b)

          public interface SomeInterface{
              public void method1();
              public int method2();
          }

          public SomeAdapter extends SomeInterface{
              public void method1(){    }
              pupblic int method2(){    }
          }

          4.    解釋內部類的作用,描述內部類的使用方法。P349
          在Java中一個類只允許繼承一個超類,不能繼承多個超類(多繼承,multiple inheritance)。為了繼承業務類,又能夠使用適配器類,可以借助內部類來實現。
          即在其他類的內部創建一個類,這個內部類繼承適配器類。這個內部類不能為程序中其他類服務,從而實現更好地封裝。

          5.    第7章的Oblong類的toString方法。

          public String toString(){
              return "Length:"+length+",\t"+"Height:"+height;
          }

          編程練習:代碼附件
          1.    RedCircle.java

          2.
          a)    Checkable.java
          b)    BankAccount.java   
          c)    RunAccount.java       
          d)    Oblong.java        OblongTester.java
          注:length和heigth屬性本身就定義為double,為何還要整數呢?所以我只考慮了非負的問題。

          3.    DrawRectangle.java            DrawRectangleWithAdapter.java
              RunDrawRectangle.java        RanDrawRectangleWithAdapter.java

          4.    SomeGraphicsClass.java    // 這個類為了給第5題服務,部分代碼修改了,有些專屬部分放在子類中定義。
              Question4.java
             
          5.    Question5.java

          posted on 2016-09-02 23:17 zYx.Tom 閱讀(239) 評論(0)  編輯  收藏 所屬分類: 1.Java世界

          主站蜘蛛池模板: 娄底市| 兴山县| 寿宁县| 五常市| 财经| 张家港市| 景泰县| 射洪县| 南安市| 宣武区| 习水县| 临洮县| 青州市| 东阿县| 布拖县| 乐都县| 喀什市| 台湾省| 繁峙县| 淳安县| 额尔古纳市| 黔江区| 新余市| 寿光市| 鄂伦春自治旗| 盐边县| 普兰店市| 三河市| 汝城县| 额济纳旗| 满洲里市| 哈密市| 枝江市| 西乡县| 汶上县| 石阡县| 高阳县| 遂昌县| 岑巩县| 澜沧| 乐亭县|