您的位置:首页 > 其它

装饰模式 DecoratePattern

2017-03-20 10:35 357 查看
public class DecoratePattern {

    /**

     * 装饰类的好处:相比继承而言减少了代码的耦合性(继承父类改变子类也要相应的做出改变)

     *

     * 装饰类的满足条件:1、在装饰类中要获取被装饰类的引用 private Student student 2、在装饰类中的构造函数中加入被装饰类的对象

     */

    public static void main(String[] args) {

        Teacher teacher = new Teacher(new Student());

        teacher.study();

    }

}

interface Study {

    public void study();

}

//被装饰的类

class Student implements Study {

    @Override

    public void study() {

        System.out.println("1");

        System.out.println("2");

    }

}

//装饰类

class Teacher implements Study {

    private Student student;

    public Teacher(Student student) {

        this.student = student;

    }

    @Override

    public void study() {

        student.study();

        System.out.println("3");

        System.out.println("4");

    }
}

装饰类的常见应用为BufferReader BufferInputStream 等缓存流里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: