O que você chama um equivalente nível de objeto de Mixin sistema / Traits, há um nome padrão para isso?

votos
1

Eu já perguntei sobre o que Mixins eram, e começaram a obter a essência do que significa que o padrão. Mas ele ficou me perguntando se existe um nome padrão comum para fazer algo como Mixins em um nível de objeto em oposição ao nível de classe.

pseudo-código (em alguma língua inexistente):

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

  function bar()
  {
     print(bar)
  }

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

  object.bar() #output: bar

Eu sei que coisas como isso pode ser feito em várias línguas, de uma forma ou de outra, mas eu estou querendo saber qual seria o nome padrão para a funcionalidade xxxx representa, e qual é o nome para este padrão, se houver .

Obrigado!

Edit: Expandindo resposta de finnsson Eu acho que algo como isso poderia ser outro caso de isso seria:

 object.xxxx(OtherClass)
 object.otherfoo()

Será que concatenar ser apropriado?

Citação: A concatenação: Sob prototipagem puro, que também é chamado de protótipos como Concatenative ... -wikipedia

Publicado 10/12/2008 em 12:39
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Isso é comum em linguagens de programação com base em protótipo. Eu acredito que é chamado de "importação" em ruby, mas é algum tempo desde a última vez programado rubi, então eu não tenho certeza.

Em js / ruby ​​você escreveria

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

e do que não é padrão real, uma vez que é apenas uma atribuição (o.bar = bar) fazer todo o sentido em uma linguagem baseada em protótipo. Eu acho que xxxx no seu exemplo poderia ser chamado de protótipo ou algo semelhante (ver http://en.wikipedia.org/wiki/Prototype-based_programming onde uma linguagem calles este proto ).

Respondeu 10/12/2008 em 13:02
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more