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

StackOverflow https://stackoverflow.com/questions/355786

Pergunta

Eu já perguntou sobre o que Mixins eram, e começaram a obter a essência do que significa 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.

código Pseudo (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 há um.

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 é referido como protótipos Concatenative ..." -wikipedia

Foi útil?

Solução

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 é nenhum 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 ).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top