装饰模式
Posted xiaobo520
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰模式相关的知识,希望对你有一定的参考价值。
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。
public interface Source { void method1(); } public class A implements Source { @Override public void method1() { System.out.println("这是A对象的功能"); } } public class B implements Source { @Override public void method1() { System.out.println("这是B对象的功能"); } } public class Decorator implements Source { private Source sourse; public Decorator(Source sourse) { super(); this.sourse = sourse; } @Override public void method1() { System.out.println("这是装饰类的方法"); sourse.method1(); } }
因为装饰类的构造器里面有一个参数是Source接口,所以只要把传入的参数改变就可以实现动态的更改扩展的功能
下面是测试
public class Test { public static void main(String[] args) { Source a=new A(); Source b=new B(); Source decoratorA = new Decorator(a); decoratorA.method1(); Source decoratorB=new Decorator(b); decoratorB.method1(); } }
以上是关于装饰模式的主要内容,如果未能解决你的问题,请参考以下文章