歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

用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