首页 > 其他分享 >Decorator Pattern

Decorator Pattern

时间:2023-03-02 14:24:56浏览次数:54  
标签:method2 method1 Pattern 装饰 ADecorator new public Decorator

装饰器模式:

参考https://www.runoob.com/design-pattern/decorator-pattern.html

动态地给一个对象添加一些额外的功能。

装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。

被装饰类:

public class A {
public void method1(){
System.out.println("invoke method1()");
}
}
装饰类:
public class ADecorator {
private A a;
public ADecorator(A a){
this.a=a;
}
public void method1(){
a.method1();
method2();
}
private void method2(){
System.out.println("another method:invoke method2()");
}
}
在装饰类中的同名方法method1中调用a对象的method1方法,除此之外还进行了method2的操作;
使用:
ADecorator ad=new ADecorator(new A());
ad.method1();
java中的InputStream,OutputStream就是使用了装饰器模式,例如:
File file=new File("1.txt");
BufferedInputStream bi=new BufferedInputStream(new FileInputStream(file));
bi是给FileInputStream增加了缓冲功能

标签:method2,method1,Pattern,装饰,ADecorator,new,public,Decorator
From: https://www.cnblogs.com/java-source-learn/p/17171615.html

相关文章