java设计模式之观察者模式

转载 2015年07月09日 17:37:27

实例代码:

// 抽象类 Girl
public abstract class Girl {
    String description = "no particular";

    public String getDescription(){
        return description;
    }
}

// 美国女孩
public class AmericanGirl extends Girl {
    public AmericanGirl() {
        description = "+AmericanGirl";
    }
}

// 国产妹子
public class ChineseGirl extends Girl {
    public ChineseGirl() {
        description = "+ChineseGirl";
    }
}

// 装饰者
public abstract class GirlDecorator extends Girl {
    public abstract String getDescription();
}

// 下面以美国女孩示例
// 给美国女孩加上金发
public class GoldenHair extends GirlDecorator {

    private Girl girl;

    public GoldenHair(Girl g) {
        girl = g;
    }

    @Override
    public String getDescription() {
        return girl.getDescription() + "+with golden hair";
    }

}

// 加上身材高大的特性
public class Tall extends GirlDecorator {

    private Girl girl;

    public Tall(Girl g) {
        girl = g;
    }

    @Override
    public String getDescription() {
        return girl.getDescription() + "+is very tall";
    }

}


// 检验一下
public class Main {

    public static void main(String[] args) {
        Girl g1 = new AmericanGirl();
        System.out.println(g1.getDescription());

        GoldenHair g2 = new GoldenHair(g1);
        System.out.println(g2.getDescription());

        Tall g3 = new Tall(g2);
        System.out.println(g3.getDescription());

        // 你也可以一步到位
        // Girl g = new Tall(new GoldenHair(new AmericanGirl())); 
    }
}


可以理解为:

当一个对象更新信息时,它会通知它的观测者们,并将自己的信息传递给它们,使它们更新自己的信息。

设计模式--观察者模式java例子

  • 2017年02月06日 17:18
  • 43KB
  • 下载

Java 设计模式-观察者模式(Observer)

写了两个关于设计模式的笔记之后突然感觉上瘾了,我的天啊,原来设计模式这么简单。隐隐约约觉得自己离架构师不远了,好开心,,,...

java23种设计模式之观察者模式

  • 2011年05月20日 14:10
  • 3KB
  • 下载

java设计模式之观察者模式

  • 2013年11月05日 14:25
  • 7KB
  • 下载

Java程序员从笨鸟到菜鸟之(三十六)大话设计模式(六)观察者模式

本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188                    Observer模式是行为模式之一,它的作用...

"观察者模式"-之Java,Android面试必问设计模式(8/9)

1.实现了通观察者接口的多个观察者 2.管理接口,定义操作方法 3.管理"抽象类"-实现-"管理接口",但只重写详细的操作方法:增加,删除,通知 4.管理的"具体类"-**继承**抽象类,重写一...
  • nzfxx
  • nzfxx
  • 2016年06月28日 15:48
  • 897

Java设计模式——观察者模式

  • 2015年05月04日 17:40
  • 22KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java设计模式之观察者模式
举报原因:
原因补充:

(最多只允许输入30个字)