- 1. 监听者模式(观察者模式)
- public class TestObserve{
- public static void main(String[] args){
- Person p = new Person();
- //向Person中注册监听者
- p.addListener(new A());
- p.addListener(new B());
- p.addListener(new C());
- p.setName("test");
- }
- }
- class Person{
- private String name;
- private Super[] listener = new Super[10];
- private int cnt = 0;
- public void setName(String name){
- //通知所有的监听者
- for(int i=0; i<cnt; i++){
- listener[i].print();
- }
- this.name = name;
- }
- public void addListener(Super a){
- listener[cnt++] = a;
- }
- public String getName(){
- return this.name;
- }
- }
- abstract class Super{
- public abstract void print();
- }
- class A extends Super{
- public void print(){
- System.out.println("--A.print()--");
- }
- }
- class B extends Super{
- public void print(){
- System.out.println("--B.print()--");
- }
- }
- class C extends Super{
- public void print(){
- System.out.println("--C.print()--");
- }
- }
- ********
- interface Super{
- public abstract void print();
- }
- class A implements Super{
- public void print(){
- System.out.println("--A.print()--");
- }
- }
- class B implements Super{
- public void print(){
- System.out.println("--B.print()--");
- }
- }
- class Base{}
- class C extends Base implements Super{
- public void print(){
- System.out.println("--C.print()--");
- }
- }
- ********
监听者模式
最新推荐文章于 2024-05-28 10:18:58 发布