歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java源碼實現觀察者模式實例

Java源碼實現觀察者模式實例

日期:2017/3/1 9:30:29   编辑:Linux編程

用Java簡單的實現了一下設計模式中的觀察者模式實例,源碼如下:

package cn.demo;

public class TestObersver {
public static void main(String[] args) {
Person person=new Person(); //聲明被觀察者
System.err.println("person:"+person);
person.addPersonListener(new PersonListener(){
public void running(PersonEvent pe) {
System.err.println("正在觀察的人:"+pe.getSource());
System.err.println("他正在跑步");
}
});
person.run();
}
}

class Person{
private PersonListener pl;
public void addPersonListener(PersonListener pl){
this.pl=pl;
}

public void run(){
if(pl!=null){
pl.running(new PersonEvent(this));
}
System.err.println("正在跑步....");
}
}

interface PersonListener{
void running(PersonEvent pe);
}

class PersonEvent{
private Object obj;
public PersonEvent(Object obj){
this.obj=obj;
}
public Object getSource(){
return obj;
}
}

運行效果為:

如此便實現了觀察者模式。

Copyright © Linux教程網 All Rights Reserved