装饰者模式
什么叫做装饰者模式?
在不通过改变该类的继承和使用的情况下,使其功能更加的丰富,具有扩展性.
优点:耦合性强,抑郁扩展,新添加的功能与之前功能是没有关系的(耦合性低)。
实例
先创建一个接口:
public interface Coder {
/**
* Coder接口的code方法
*/
void code();
}
然后创建两个实现类:
被装饰类
public class Student implements Coder {
@Override
public void code() {
System.out.println("javase");
System.out.println("c++");
}
}
装饰类:
/**
* 用来装饰student
* @author kiosk
*/
public class DecorateStudent implements Coder {
private Student student;
public DecorateStudent(Student student) {
this.student = student;
}
@Override
public void code() {
student.code();
System.out.println("数据库");
System.out.println("linux");
System.out.println("javaweb");
}
}