装饰者模式
作用:对对象的原有功能进行升级
书写步骤
1.明确被装饰的对象
2.将被装饰的对象 通过构造方法传入装饰类
装饰类中 肯定有一个成员变量 就是被装饰的对象
3.拥有被装饰的对象 相当于可以调用该对象中的所有方法
就可以对该方法进行升级
// 在校学生
class Student implements Study{
@Override
public void Study() {
System.out.println("在校学习了 c++ c# c");
}
}
// 装饰类
class LOStudent implements Study{
// 将被装饰者声明为成员变量
private Student student;
// 提供有参的构造方法
public LOStudent() {
super();
}
public LOStudent(Student student) {
super();
this.student = student;
}
// 对方法进行装饰(升级)
@Override
public void Study() {
// 调用原有的学习方法
student.Study();
// 装饰新功能
System.out.println("又学习了 java h5 U3D");
}
}
以上就是一个简单的装饰者模式栗子。