1、首先定义一个接口
public interface Worker {
public void doSomeWork();
}
2、定义一个木匠类
public class Carpenter implements Worker{
@Override
public void doSomeWork() {
System.out.println("修门窗");
}
}
3、定义一个水管工类
public class Plumber implements Worker{
@Override
public void doSomeWork() {
System.out.println("修水管");
}
}
4、这儿是关键,定义一个装饰者类
public class AWorker implements Worker{
private Worker worker = null;
public AWorker(Worker worker){
this.worker = worker;
}
@Override
public void doSomeWork() {
System.out.println("您好");
worker.doSomeWork();
}
}
5、测试类
public class Test {
public static void main(String args [] ){
Carpenter carpenter = new Carpenter();
AWorker aWorker1 = new AWorker(carpenter);
aWorker1.doSomeWork();
Plumber plumber = new Plumber();
AWorker aWorker2 = new AWorker(plumber);
aWorker2.doSomeWork();
}
}
6、类似的可以再定义一个装饰者类
public class BWorker implements Worker{
private Worker worker = null;
public BWorker(Worker worker){
this.worker = worker;
}
@Override
public void doSomeWork() {
System.out.println("戴鞋套");
worker.doSomeWork();
}
}
以上知识是从mars老师的视屏中学习的:http://www.marsdroid.org