我以前问什么混入了,并且已经开始得到一个什么样的模式是指依据。但它让我不知道是否有在对象级别做这样的事情混入,而不是类级别的通用模式的名称。

伪代码(在一些不存在的语言):

  Class MyClass
  {
     function foo()
     {
        print("foo")
     }
  }

  function bar()
  {
     print("bar")
  }

  object = MyClass.new()
  object.xxxx(bar)

  object.bar() #output: bar

我知道这样的东西,可以用几种语言来实现,以这种或那种方式,但我想知道什么是“标准”名称的功能xxxx表示,对于这种模式名称是什么,如果有一个。

谢谢!

编辑:扩大对finnsson的答案,我想这样的事情可能是这样做的另一个情况是:

 object.xxxx(OtherClass)
 object.otherfoo()

级联会是适当的?

  

引用:“级联:在纯原型,其也被称为拼接原型...” -wikipedia

有帮助吗?

解决方案

这是常见于基于原型的编程语言。我相信这就是所谓的“进口”的红宝石,但它自从我上次编程红宝石,所以我不知道一段时间了。

在JS /红宝石你会写

object.bar = bar;
object.bar() // output: bar

和比它没有真正的图案,因为它只是在基于原型的语言可以实现完美的意义上的分配(o.bar =巴)。我猜XXXX在你的例子可以被称为原型或类似的东西(见 HTTP://en.wikipedia .ORG /维基/原型的based_programming 其中一种语言卡列斯此的)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top