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、接收对象的类通常是干什么用的? |
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |