x = function () { } x.prototype = { a: function () { $('#ms').append($('<div>').text("x:a")); }, b: function () { $('#ms').append($('<div>').text("x:b")); }, c: function () { $('#ms').append($('<div>').text("x:c")); } } y = dqextend(x, function () { }, { a: function () { __dqsuper__(this, "a", arguments); $('#ms').append($('<div>').text("y:a")); }, b: function () { __dqsuper__(this, "b", arguments); $('#ms').append($('<div>').text("y:b")); } } ); z = dqextend(y, function () { this.a(); this.b(); this.c(); }, { a: function () { __dqsuper__(this, "a", arguments); $('#ms').append($('<div>').text("z:a")); } } );