当前位置 : 主页 > 编程语言 > ruby >

Ruby中的委托是什么?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我在教科书中遇到过这个问题,但我甚至不知道代表团是什么.我知道包含是什么,但不知道代表团是什么. In the context of Ruby, compare delegation to module inclusion in terms of the notion of class interfac
我在教科书中遇到过这个问题,但我甚至不知道代表团是什么.我知道包含是什么,但不知道代表团是什么.

In the context of Ruby, compare delegation to module inclusion in
terms of the notion of class interfaces.

With module inclusion, methods defined in modules become part of the
interface of classes(and all their subclasses). This is not the case
with delegations.

你能用外行的话解释一下吗?

简单地说,委托就是当一个对象使用另一个对象进行方法调用时.

如果您有这样的事情:

class A
  def foo
    puts "foo"
  end
end

class B
  def initialize
    @a = A.new
  end

  def bar
    puts "bar"
  end

  def foo
    @a.foo
  end
end

当调用foo方法时,B类的一个实例将使用A类的foo方法.换句话说,B的实例将foo方法委托给A类.

网友评论