标签:类的方法 bsp 动态 nbsp 实例 ati string vat 一个
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。
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(); } }
标签:类的方法 bsp 动态 nbsp 实例 ati string vat 一个
原文地址:https://www.cnblogs.com/xiaobo520/p/10508327.html