On 9/12/07, NachoKB <[EMAIL PROTECTED]> wrote:
> Esa forma de definir métodos de clase tiene una lógica, que está bien
> explicada en el Pickaxe. Tené en cuenta que un "método de clase" es un
> método singleton que se le agrega al objeto  clase...
> Métodos singleton son métodos que se le pueden "adosar" a una instancia
> particular sin tocar al resto de las instancias de la clase (eso y los
> mixins te permiten componer comportamiento de una manera tan simple que
> pensar en IoC y otros patrones que usa la gente en Java te parecen
> monstruos...).
>

Podriamos decir que Ruby es un lenguaje de Clases Abiertas (Open
Clases) e instancias.

En donde podemos redefinir metodos de una clase, reemplazar los de una
instancia o simplemente encadenarlos usando trucos con method alias
(alias :foo :bar)

En Python es posible reabrir una clase, pero es como tabú, no esta
bien visto. Por las otras funciones, bueno, si la primera es tabú, te
pueden acusar de hereje por intentar algo de lo que en Ruby es valido.

Este tipo de "anarquia" provisto por Ruby es muy util, pero puede
llegar a ser complicado con un sistema/framework como Rails, por
ejemplo.

-- 
Luis Lavena
Multimedia systems
-
Leaders are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that
is worthwhile.
Vince Lombardi
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a