JAVA程式員必讀:基礎篇(8)
來源:互聯網
上載者:User
JAVA程式員必讀:基礎篇
時間:2001/09/13 13:31 作者:ZSC 太平洋網路學院
2.6什麼是介面
介面是一個收集方法和常數表單的契約。當類執行一個介面,它就確保聲明在那個介面中執行所有的方法。
介面是一個裝置或者一個系統,它是用於互動的無關的實體。根據這個定義,遠端控制是一個在你和電視的介面;而英語是兩個人之間的介面;強制在軍事中的行為協議是不同等價人之間的介面。在JAVA語言中,介面是一個裝置,它是用來與其它對象互動的裝置。一個介面可能對一個協議是類似的。實際上,其它物件導向語言有介面的功能,但它們調用它們的介面協議。
單車類和它的類分級結構定義了什麼是單車。但是單車在其它方面與現實世界互動作用,例如,倉庫中的單車可以由一個存貨程式來管理。一個存貨程式不關心管理項目的哪一類只要項目提供某一資訊,比如價格和跟蹤數字。取代強迫類與其它無關項的關係,存貨程式建立了通訊的協議。這個協議是由包含在介面中的常數和方法定義組成的。這個存貨清單介面將要定義(但不執行)方法來設定和得到零售價格,指定跟蹤數字等等。
為了在存貨清單程式中操作,單車類必須在執行介面的時候遵守這個協議。當一個了執行一個介面的時候,類遵守定義在介面中的所有方法。因此,單車將為這些設定和獲得零售價格並指定跟蹤數值等等的方法提供執行。
你可以使用介面來定義一個行為的協議,這個行為可以有在類分級結構中任何類來執行。介面的主要好處有一下幾點:
不用人工強迫類別關係在無關類中截獲相似處。
聲明想執行的一個或者更多類的方法。
在不暴露對象的類的前提下,暴露對象的編程介面。
2.7怎樣將這些物件導向的概念轉換為代碼
這一小節將給你展現建立對象、執行類、發送訊息、建立一個父類以及執行一個介面的代碼。
以下是一個applet(applet是用JAVA程式設計語言編寫的程式,它可以運行在相容JAVA平台的網路瀏覽器,比如HotJava或者Netscape Navigator)的程式,名為ClickMe。如圖10所示,當你點擊方框內任何地方,一個紅點就會出現。
(圖10)
提示:上面的applet需要JDK1.1。如果你使用老的不支援JDK1.1的瀏覽器,你將不能運行這個applet。相反,你需要在一個1.1瀏覽器上來看這個網頁,比如在HotJava、JDK Applect瀏覽器(appletviewer)或者某個版本的Netscape Navigator和Internet Explorer。