装饰设计模式
装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
- 采用装饰模式扩展对象的功能比采用继承方式更加灵活。
- 可以设计出多个不同的具体装饰类,创造出多个不同行为的组合。
其主要缺点是:装饰模式增加了许多子类,如果过度使用会使程序变得很复杂。
- 代码
public interface Coder {
public void code();
}
public class Student implements Coder {
@Override
public void code() {
System.out.println("javaSE");
System.out.println("javaWeb");
}
}
public class HighStudent implements Coder {
//1.获取被包装类的引用
private Student s;
//2.通过构造函数创建对象的时候,传入被包装的对象
public HighStudent(Student s){
this.s = s;
}
//对原有功能尽行升级
@Override
public void code() {
s.code();
System.out.println("MySQL");
System.out.println("SSM");
}
}