有些地方用委托来实现。

解决方案 »

  1.   

    参考http://www.javaeye.com/topic/29541委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。委托模式使得我们可以用聚合来替代继承,它还使我们可以模拟mixin。 
    “委托”在C#中是一个语言级特性,而在Java语言中没有直接的对应,但是我们可以通过动态代理来实现委托!
      

  2.   

    有啊。比如:
    public void a() {
       System.out.println("Hi!");
    }
    写成下面这样的话:
    public void a() {
        b();
    }
    public void b() {
        System.out.println("Hi!");
    }
    就表示将 a() 的内容委托给 b() 了。可见委托这个词真 TM 专业。
      

  3.   

    委托一般称为委托调用。代码编写有个这样的原则:能不用继承就不用继承,能使用委托实现的就不使用继承。两个类有明显示的层级关系时使用继承,没有明显的层级关系,仅仅是为了在一个类中使用另一个类的方法时应该使用委托。根据《重构》一书称:现在有滥用继承的趋势,JDK 中 Stack 就是一个滥用继承的典型!java.util.Stack 继承自 java.util.Vector,其实 Stack 与 Vector 在用途上完全是风马牛不相及的两个容器。
      

  4.   

    jdk的api里说的是允许将一个Vector视为一个Stack 
    从理论上和本质上来说没有什么问题 堆栈其实也是向量 反正是线性结构
    是不是一个栈 取决于对这个线性结构怎么操作不过这个问题嘛 公说公有理婆说婆有理
      

  5.   

    委托是 面向对象术语。
    C# 的委托是将函数指针封装为对象类型实现的。(安全的函数指针)
    Java 没有在语言中直接实现。一帮通过 单方法接口实现
      

  6.   

    貌似  僅限於java語言範圍內   沒有
      

  7.   

    有的,
    比方说java事件委托机制的概念,即一个事件源产生一个事件并将它法受到一个或多个监听器那里。监听器等待事件,知道收到一个事件。一旦事件被接受,监听器将会处理这个事件,让后返回相应的值。
      

  8.   

    可以用java语言实现委托吧,设计模式
      

  9.   

    就是代理, PROXY, 是设计模式的一种.提倡以后都用英文正名, 不然说法太不统一了.比如设计模式中有一个Facade, 就被翻译得天花乱坠的...
      

  10.   

    java里是一种设计模式
    C#里有种类型
      

  11.   

    swing的事件处理模型就是一种基于委托的模型
      

  12.   


    但是 Stack 和 Vector 的功能是不一样的,Stack 是不允许插入数据到 Stack 任何位置的,但是 Vector 是可以的,如果 Stack 继承自 Vector,那么这样的 Stack 就可以使用 add(int index, E element) 在任何位置插入数据,这明显不符合栈的要求。
      

  13.   

      有,而且用的地方还不少,比如struts1的控制流程就是利用的委托,即ActionServlet接到请求后委托给RequestProcessor 去处理不同模块的请求,spring,EJB中的动态代理也都是基于此实现。