简单装饰流模式

Posted oldfish711

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单装饰流模式相关的知识,希望对你有一定的参考价值。

public class Test2 {

/**
* 装饰模式
* 毕业学生
*/
public static void main(String[] args) {
HeiMaStudent hm = new HeiMaStudent(new Student());
hm.code();
}

}
interface code{
public void code();
}
class Student implements code{

public void code(){
System.out.println("javase");
System.out.println("javaweb");
}
}
//包装一下应届毕业生
class HeiMaStudent implements code{

//获取被装饰类的引用
private Student s;

//在构造方法中传入被装饰类得对象
public HeiMaStudent(Student s){//相当于要对学生进行包装
this.s = s;
}

//对原有得功能进行升级
@Override
public void code() {
s.code();//因为我对学生进行包装我当然就具备学生所具有的功能
System.out.println("html");//把功能进行升级 学了html
System.out.println("javascript");//把功能进行升级 学了javascript
System.out.println("jspservlet");//把功能进行升级 学了html

System.out.println(".....");
}
//包装后学了这么东西 在找工作是不是就不愁了 呵呵
}

 

总结:

装饰设计模式的好处是什么呢 那么就是耦合性没有那么强  我也可以继承student 重写code() 可是父类做了改动子类也就跟着改动了

还有一个优点 就是我可以选择包装类就很多 好像bufferReader(Reader in) 包装Reader  可以选择bufferReader 也可以选择别的包装类 如果是继承得化耦合性就太强了

以上是关于简单装饰流模式的主要内容,如果未能解决你的问题,请参考以下文章

Java实现装饰者模式

11 IO流——装饰器设计模式,Filter装饰流

装饰器模式及JAVA IO流例子★★★☆☆

装饰器模式

10.9-全栈Java笔记:装饰器模式构建IO流体系

装饰器模式与JavaIO流