1.装饰者设计模式的公共接口
public interface Coder {
public void coder();
}
2.被装饰者
public class Student implements Coder{
@Override
public void coder() {
System.out.println("我会C语言");
System.out.println("我会Java语言");
}
}
3.定义装饰者
public class HPEStudent implements Coder{
//别人传一个Student
private Student student;
public HPEStudent(Student student) {
this.student = student;
}
@Override
public void coder() {
//包装模式,对学生进行包装,不管是什么学生都可以,只要穿个学生就可以了
student.coder();
System.out.println("我学会了框架");
System.out.println("我学会了数据库");
}
}
4.测试类
public class Demo {
public static void main(String[] args) {
//创建装饰模式对象,传入学生对象,对学生进行包装
HPEStudent hpeStudent = new HPEStudent(new Student());
hpeStudent.coder();
}
}