19 junio, 2008

joose: sistema de metaobjetos para Javascript

Via aNieto2k. Se trata de un sistema autocontenido de metaobjetos con soporte para clases, herencia, uniones, tratos, modificadores de método y mucho más. Joose facilita enormemente la programación orientada a objetos (OOP) con Javascript, haciéndola declarativa y muy productiva. Joose es multi-paradigma. Soporta el estilo tradicional basado en prototipos y el propio basado en clases, a la vez que la herencia basada en clases y la extensión basada en roles. En el siguiente ejemplo (te lo he copiado enterito, Andrés) se define de una forma muy muy sencilla:

//Declaración del módulo
Module("PointModule", function (m) {
  //Declaración de la clase
  Class("Point", {
    has: {
        x: {
            is:   "rw",
            init: 0
        },
        y: {
            is:   "rw",
            init: 0
        }
    },
    methods: {
        clear: function () {
            this.setX(0);
            this.setY(0);
        }
    }
  })
})

// Creamos el objeto y lo usamos
var point = new PointModule.Point();
point.setX(10)
point.setY(20);
point.clear();

Publicar un comentario en la entrada

Últimos links en indiza.com