您的位置:首页 > 其它

设计模式学习系列七:装饰模式(Decorator)

2013-03-22 14:09 477 查看
 

 

http://blog.csdn.net/iihero/article/details/8205176

 

装饰模式(Decorator)

 以对客户透明的方式来扩展对象的功能。 用户根据功能需求随意选取组成对象的成分,通过方法的链式调用来实现。 可以给对象动态的增加功能,比继承灵活性更大。

public class TestDecorator {

public static void main(String[] args) {

Teacher t1=new SimpleTeacher();

Teacher t2=new CppTeacher(t1);

Teacher t3=new JavaTeacher(t2);

t3.teach();

//t.teach();

}

}

abstract class Teacher{

public abstract void teach();

}

class SimpleTeacher extends Teacher{

public void teach(){

System.out.println("Good Good Study, Day Day Up");

}

}

class JavaTeacher extends Teacher{

Teacher teacher;

public JavaTeacher(Teacher t){

this.teacher=t;

}

public void teach(){

teacher.teach();

System.out.println("Teach Java");

}

}

class CppTeacher extends Teacher{

Teacher teacher;

public CppTeacher(Teacher t){

this.teacher=t;

}

public void teach(){

teacher.teach();

System.out.println("Teach C++");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: