装饰者模式
思想:将原有的功能 进行提升
装饰这步骤
1.将被装饰者 当做一个成员变量
2.在构造方法中 进行成员变量赋值(赋值后就相当于 可以拿到被装饰者这个对象 有这个对象就能调用该对象的方法)
3.对原有的方法进行升级
public Class Demo{
public static void main (string[]args){
//测试
Student student = new Student()
//注意: 创建时 一定要给 被装饰者传值.
School school = new School(student);
school.studayCode();
}
}
interface Study{
//学习代码
public abstract void Studay();
}
Class Student implements Study{
public abstract void Studay(){
System.out.println("学习C++");
}
}
Class School implements Study{
//将学生作为成员变量
private Student student;
//构造方法
public School(){
super();
}
public School(Student student){
super();
this.student = student;
}
//对学生的方法进行升级
public void Studay(){
//调用被装饰者的功能
student.studayCode();
//升级
system.out.println("学习JAVA");
system.out.println("学习新技能");
}
}
}