interface Subject { // 定义接口
public void get() ; // 抽象方法
}
class RealSubject implements Subject { // 被传递对象
public void get() {
System.out.println("对象任务") ;
}
}
class ProxySubject implements Subject { // 操作传递对象
private Subject sub = null ;
public ProxySubject(Subject sub) {
this.sub = sub ;
}
public void prepare() {
System.out.println("开始任务") ;
}
public void destroy() {
System.out.println("结束任务") ;
}
public void get() {
this.prepare() ;
this.sub.get() ;
this.destroy() ;
}
}
public class Test {
public static void main(String args[]) {
Subject sub = new ProxySubject(new RealSubject()) ;
sub.get() ;
}
}
帮忙总结规律:(我发现好像有些规律,请有同样感觉的人帮忙总结啊!)
1、什么时候需要传递对象?
(1)当对象需要传递给另一个对象进行加工操作时;
(2)需要对一个对象进行包装时;
(3)在类的包装中好像也需要,比老师见过的,在IO流中,有些类的功能不够强大,但是又不能更改源码,所以只能创建新的类,接收这个类,对这个类进行功能增强,例如:BufferedReader等
2、接收对象的类通常是干什么用的?