1708
Comentário:
|
1733
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 6: | Linha 6: |
Nenhuma das tecnicas permite fazer monkeypatching em tipos built-in ou qualquer outro definido em C. | Nenhuma das técnicas permite fazer monkeypatching em tipos built-in ou qualquer outro definido em C. |
Linha 57: | Linha 57: |
Isso vai adicionar <method1> e <method2> a <someclass>, e criar <newclass> como um "apelido" para <someclass>. | Isso vai adicionar {{{<method1>}}} e {{{<method2>}}} a {{{<someclass>}}}, e criar <newclass> como um "apelido" para {{{<someclass>}}}. |
Receita: Monkeypatching
Dica do próprio GuidoVanRossum para simplificar a tecnica do "Monkey Patch" (adicionar metodos numa classe já definida). Fonte: http://mail.python.org/pipermail/python-dev/2008-January/076194.html
Nenhuma das técnicas permite fazer monkeypatching em tipos built-in ou qualquer outro definido em C.
Código
Primeiro, um decorator para adicionar um unico metodo a uma classe:
Segundo, uma "metaclasse" (ok, uma factory function que serve como metaclasse) para adicionar metodos (ou outros atributos quaisquer) para uma classe pre-existente, com uma conveniente definição de classe
Exemplo de uso
Decorator:
Isso vai adicionar <newmethod> a <someclass>.
Metaclass:
Isso vai adicionar <method1> e <method2> a <someclass>, e criar <newclass> como um "apelido" para <someclass>.
Volta para CookBook.
Nome do autor da Receita