* 装饰者模式(高内聚 低耦合) 思想:将原有的功能进行提升
File类-->具有写文件的功能
将File类对象 传入 FileoutputStream 流中
FileoutputStream --->具有高效性
将FileOutputStream 传入 BuuferedOutputStream 流中
* 装饰者步骤
* 1.将被装饰者 当做类中的一个成员变量
* 2.在构造方法中对 进行成员变量赋值 就相当于拿到被装饰者这个对象 有这个对象就能调用该对象的方法
* 3.对原有方法进行升级
public class Demo01 {
public static void main(String[] args) {
Student student =new Student();
//注意:创建时 一定要给被被装饰者赋值
LanouStudent lanouStudent = new LanouStudent(student);
lanouStudent.StudyCode();
}
}
// 学习代码的接口
interface Study {
// 学习代码
public abstract void StudyCode();
}
class Student implements Study {
public void StudyCode() {
System.out.println("学习C语言");
System.out.println("学习C++语言");
System.out.println("学习C#语言");
}
}
class LanouStudent implements Study {
private Study student = null;
public LanouStudent() {
}
public LanouStudent(Student student) {
super();
this.student = student;
}
//对学生方法进行升级
public void StudyCode() {
//调用被装饰者的方法
student.StudyCode();
//升级
System.out.println("学习Java语言");
}
}