Ruby中实现委托的机制是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计542个文字,预计阅读时间需要3分钟。
我在教科书中遇到一个问题,但我不清楚代表群是什么。我知道包含是什么,但不知道代表群是什么。在Ruby中,将委托与模块包含在类接口概念上比较如下:
- 委托(Delegation): - 委托是一种设计模式,允许一个对象将某些任务委托给另一个对象执行。 - 在类接口的概念下,委托允许一个类通过引用另一个类的方法来实现接口,而不必直接实现所有接口方法。 - 举例:`class Proxy
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类.
本文共计542个文字,预计阅读时间需要3分钟。
我在教科书中遇到一个问题,但我不清楚代表群是什么。我知道包含是什么,但不知道代表群是什么。在Ruby中,将委托与模块包含在类接口概念上比较如下:
- 委托(Delegation): - 委托是一种设计模式,允许一个对象将某些任务委托给另一个对象执行。 - 在类接口的概念下,委托允许一个类通过引用另一个类的方法来实现接口,而不必直接实现所有接口方法。 - 举例:`class Proxy
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类.

