国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java常用類庫--觀察者設計模式( Observable類Observer接口)

2019-11-14 23:07:29
字體:
來源:轉載
供稿:網友
java常用類庫--觀察者設計模式( Observable類Observer接口)

原文鏈接:http://www.2cto.com/kf/201310/253013.html

如果要想實現觀察者模式,則必須依靠java.util包中提供的Observable類和Observer接口。

123456789101112131415161718192021222324252627282930313233343536373839404142434445import java.util.* ; class House extends Observable{ // 表示房子可以被觀察 PRivate float price ;// 價錢 public House(float price){ this.price = price ; } public float getPrice(){ return this.price ; } public void setPrice(float price){ // 每一次修改的時候都應該引起觀察者的注意 super.setChanged() ; // 設置變化點 super.notifyObservers(price) ;// 價格被改變 this.price = price ; } public String toString(){ return "房子價格為:" + this.price ; } }; class HousePriceObserver implements Observer{ private String name ; public HousePriceObserver(String name){ // 設置每一個購房者的名字 this.name = name ; } public void update(Observable o,Object arg){ if(arg instanceof Float){ System.out.print(this.name + "觀察到價格更改為:") ; System.out.println(((Float)arg).floatValue()) ; } } }; public class ObserDemo01{ public static void main(String args[]){ House h = new House(1000000) ; HousePriceObserver hpo1 = new HousePriceObserver("購房者A") ; HousePriceObserver hpo2 = new HousePriceObserver("購房者B") ; HousePriceObserver hpo3 = new HousePriceObserver("購房者C") ; h.addObserver(hpo1) ; h.addObserver(hpo2) ; h.addObserver(hpo3) ; System.out.println(h) ; // 輸出房子價格 h.setPrice(666666) ; // 修改房子價格 System.out.println(h) ; // 輸出房子價格 } };

運行結果:房子價格為:1000000.0購房者C觀察到價格更改為:666666.0購房者B觀察到價格更改為:666666.0購房者A觀察到價格更改為:666666.0房子價格為:666666.0
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟连| 讷河市| 陇南市| 博野县| 双辽市| 若尔盖县| 色达县| 嵊州市| 芦溪县| 柘城县| 娄底市| 浦县| 辛集市| 焉耆| 通河县| 淄博市| 太白县| 元谋县| 田阳县| 项城市| 隆德县| 武宁县| 昌乐县| 美姑县| 当雄县| 阿城市| 雷波县| 阳高县| 建昌县| 含山县| 庄河市| 广州市| 邢台县| 铁岭市| 闽清县| 庆阳市| 德惠市| 昌图县| 永定县| 临朐县| 沭阳县|