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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Head First_設(shè)計模式_觀察者模式

2019-11-08 02:14:07
字體:
供稿:網(wǎng)友
package Obseiver;public interface Subject {	public void register(Obseivers o);	public void delete(Obseivers o);	public void notifyAllSubeject();}
package Obseiver;public interface Obseivers {	public void update(float wendu, float fengji);}
package Obseiver;public interface Display {	public void display();}
package Obseiver;import java.util.ArrayList;public class WeaterDate implements Subject {	// 建立一個用戶觀察者的數(shù)組	PRivate ArrayList obseiverss;	// 建立三個更新的變量	private float WenDu;	private float FengJi;	// 空的構(gòu)造方法	public WeaterDate() {		obseiverss = new ArrayList();	}	public void register(Obseivers o) {		// TODO Auto-generated method stub		obseiverss.add(o);	}	@Override	public void delete(Obseivers o) {		// TODO Auto-generated method stub		int indexId = obseiverss.indexOf(o);		if (indexId >= 0) {			obseiverss.remove(indexId);		}	}	// 這里有一個設(shè)置狀態(tài)的方法	public void setStatements(float wendu, float fengji) {		this.WenDu = wendu;		this.FengJi = fengji;		changed();	}	private void changed() {		// TODO Auto-generated method stub		notifyAllSubeject();	}	@Override	public void notifyAllSubeject() {		// 提醒所有的觀察者,更新信息!		for (Object obseiver : obseiverss) {			Obseivers o = (Obseivers) obseiver;			o.update(WenDu, FengJi);		}	}}
package Obseiver;public class Obseiver_one implements Obseivers, Display {	// 先聲明成員變量	private float wendu;	private float fengji;	private WeaterDate weaterDate;// 這里設(shè)置成成員變量的原因是方便后來可能的取消注冊	// 在構(gòu)造方法里面祖冊	public Obseiver_one(Subject weaterDate) {		weaterDate = (WeaterDate) weaterDate;		weaterDate.register(this);	}	@Override	public void update(float wendu, float fengji) {		// TODO Auto-generated method stub		// 更新數(shù)據(jù)		this.wendu = wendu;		this.fengji = fengji;		display();	}	@Override	public void display() {		// TODO Auto-generated method stub		System.out.println("風(fēng)級是:" + fengji + "溫度是:" + wendu + "!");	}}
package Obseiver;public class Test {	public static void main(String[] args) {		// TODO Auto-generated method stub		WeaterDate weaterDate = new WeaterDate();		Obseiver_one obseiver_one = new Obseiver_one(weaterDate);		weaterDate.setStatements(100, 123);		try {			Thread.sleep(1000);		} catch (InterruptedException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		weaterDate.setStatements(111, 123);		try {			Thread.sleep(1000);		} catch (InterruptedException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		weaterDate.setStatements(222, 123);	}}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安庆市| 安庆市| 平顶山市| 酉阳| 巴林右旗| 乾安县| 盐源县| 忻城县| 二连浩特市| 富源县| 类乌齐县| 迭部县| 招远市| 乌兰察布市| 札达县| 威海市| 广元市| 繁峙县| 嘉黎县| 九龙坡区| 扎囊县| 武乡县| 武山县| 古蔺县| 临洮县| 旌德县| 长泰县| 福清市| 肥西县| 诏安县| 崇义县| 扎赉特旗| 晋中市| 富民县| 饶平县| 来安县| 大英县| 昌宁县| 怀柔区| 温州市| 白山市|