io = function(o){
                for(var m in o){
                    this[m] = o[m];
                }
            }
<p>Extends one class to create a subclass and optionally overrides members with the passed literal. This method
also adds the function "override()" to the subclass that can be used to override members of the class.</p>
For example, to create a subclass of Ext GridPanel:
<pre><code>
MyGridPanel = Ext.extend(Ext.grid.GridPanel, {
    constructor: function(config) {

//      Create configuration for this Grid.
        var store = new Ext.data.Store({...});
        var colModel = new Ext.grid.ColumnModel({...});

//      Create a new config object containing our computed properties
//      *plus* whatever was in the config parameter.
        config = Ext.apply({
            store: store,
            colModel: colModel
        }, config);

        MyGridPanel.superclass.constructor.call(this, config);

//      Your postprocessing here
    },

    yourMethod: function() {
        // etc.
    }
});
</code></pre>

<p>This function also supports a 3-argument call in which the subclass's constructor is
passed as an argument. In this form, the parameters are as follows:</p>
<div class="mdetail-params"><ul>
<li><code>subclass</code> : Function <div class="sub-desc">The subclass constructor.</div></li>
<li><code>superclass</code> : Function <div class="sub-desc">The constructor of class being extended</div></li>
<li><code>overrides</code> : Object <div class="sub-desc">A literal with members which are copied into the subclass's
prototype, and are therefore shared among all instances of the new class.</div></li>
</ul></div>

@param {Function} superclass The constructor of class being extended.
@param {Object} overrides <p>A literal with members which are copied into the subclass's
prototype, and are therefore shared between all instances of the new class.</p>
<p>This may contain a special member named <tt><b>constructor</b></tt>. This is used
to define the constructor of the new class, and is returned. If this property is
<i>not</i> specified, a constructor is generated and returned which just calls the
superclass's constructor passing on its parameters.</p>
<p><b>It is essential that you call the superclass constructor in any provided constructor. See example code.</b></p>
@return {Function} The subclass constructor from the <code>overrides</code> parameter, or a generated one if not provided.