package observer;
public interface Observer {
void update(Product pro);
}
package observer; public class MailObserver implements Observer{ public void update(Product product){ System.out.println("向所有注册会员发送邮件:"+product.getName()+":"+product.getPrice()); } }
package observer; import java.util.HashSet; import java.util.Set; public class Product { private double price; private String name; private Set<Observer> allObservers; public Product(String name, double price) { this.name = name; this.price = price; allObservers = new HashSet<Observer>(); } public void setPrice(double price) { this.price = price; } public void addObserver(Observer observer) { allObservers.add(observer); for (int i = 0; i < allObservers.size(); i++) { allObservers.iterator().next().update(this); } } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public static void main(String[] args) { Product product = new Product("婴儿车", 398.00); product.addObserver(new MailObserver()); } }
package observer; public class MailObserver implements Observer{ public void update(Product product){ System.out.println("向所有注册会员发送邮件:"+product.getName()+":"+product.getPrice()); } }
package observer; import java.util.HashSet; import java.util.Set; public class Product { private double price; private String name; private Set<Observer> allObservers; public Product(String name, double price) { this.name = name; this.price = price; allObservers = new HashSet<Observer>(); } public void setPrice(double price) { this.price = price; } public void addObserver(Observer observer) { allObservers.add(observer); for (int i = 0; i < allObservers.size(); i++) { allObservers.iterator().next().update(this); } } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public static void main(String[] args) { Product product = new Product("婴儿车", 398.00); product.addObserver(new MailObserver()); } }