javabean的屬性、事件和方法

  從基本上來說,JavaBean可以看成是一個黑盒子,即只需要知道其功能而不必管其內部結構的軟件設備。黑盒子只介紹和定義其外部特徵和與其他部分的接口,如按鈕、窗口、顏色、形狀等。作爲一個黑盒子的模型,以把JavaBean看成是用於接受事件和處理事件以便進行某個操作的組件建築塊。

一個JavaBean由3部分組成:
 
  (1) 屬性(properties)
  JavaBean提供了高層次的屬性概念,屬性在JavaBean中不只是傳統的面向對象的概念裏的屬性,它同時還得到了屬性讀取和屬性寫入的API的支持。屬性值可以通過調用適當的bean方法進行。比如,可能bean有一個名字屬性,這個屬性的值可能需要調用String getName()方法讀取,而寫入屬性值可能要需要調用void setName(String str)的方法。

  每個JavaBean屬性通常都應該遵循簡單的方法命名規則,這樣應用程序構造器工具和最終用戶才能找到JavaBean提供的屬性,然後查詢或修改屬性值,對bean進行操作。JavaBean還可以對屬性值的改變作出及時的反應。比如一個顯示當前時間的JavaBean,如果改變時鐘的時區屬性,則時鐘會立即重畫,顯示當前指定時區的時間。

  (2) 方法(method)
  JavaBean中的方法就是通常的Java方法,它可以從其他組件或在腳本環境中調用。默認情況下,所有bean的公有方法都可以被外部調用,但bean一般只會引出其公有方法的一個子集。

  由於JavaBean本身是Java對象,調用這個對象的方法是與其交互作用的唯一途徑。JavaBean嚴格遵守面向對象的類設計邏輯,不讓外部世界訪問其任何字段(沒有public字段)。這樣,方法調用是接觸Bean的唯一途徑。

  但是和普通類不同的是,對有些Bean來說,採用調用實例方法的低級機制並不是操作和使用Bean的主要途徑。公開Bean方法在Bean操作中降爲輔助地位,因爲兩個高級Bean特性--屬性和事件是與Bean交互作用的更好方式。

  因此Bean可以提供要讓客戶使用的public方法,但應當認識到,Bean設計人員希望看到絕大部分Bean的功能反映在屬性和事件中,而不是在人工調用和各個方法中。

  (3) 事件(event)
  Bean與其他軟件組件交流信息的主要方式是發送和接受事件。我們可以將bean的事件支持功能看作是集成電路中的輸入輸出引腳:工程師將引腳連接在一起組成系統,讓組件進行通訊。有些引腳用於輸入,有些引腳用於輸出,相當於事件模型中的發送事件和接收事件。

  事件爲JavaBean組件提供了一種發送通知給其他組件的方法。在AWT事件模型中,一個事件源可以註冊事件監聽器對象。當事件源檢測到發生了某種事件時,它將調用事件監聽器對象中的一個適當的事件處理方法來處理這個事件。

  由此可見,JavaBean確實也是普通的Java對象,只不過它遵循了一些特別的約定而已。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章