jQuery Class Implementation

A class implementation for jQuery, inspired by MooTools Core.Class.

HTML

<div id="box"></div>

JavaScript

// The Class Functionality
var Class;

(function(j) {
    
    var Options = {
            setOptions: function(options) {
                j.extend(true, this.options, options);
            }
        };
    
        Class = function (params) {
            if (params instanceof Function) {
                params = {initialize: params};
            }
            var instance = function() {
                j.extend(true, this, params);
                j.extend(true, this, Options);
    
                if (this.initialize instanceof Function) {
                    this.initialize.apply(this, arguments);
                }
                return this;
            }
    
            j.extend(true, instance, this);
    
            return instance;
        };

})(jQuery);

// The Class Declaration
var myClass = new Class({

    options: {
        text: null,
        container: null
    },

    initialize: function(options)
    {
        this.setOptions(options);
    },

    speak: function()
    {
        this.options.container.html(
            '<b>' + this.options.text + '</b>'
        );
    }
});

// The Class Instance
var hello = new myClass({
        text: 'hello my dear',
        container: $('div#box')
    });
    
    hello.speak();