Extjs_extjs で extend (js 継承) を使用するためのコード

WBOY
リリース: 2016-05-16 17:55:17
オリジナル
1079 人が閲覧しました

注: 書籍からコピー
従来の JS 実装の継承操作は次のとおりです:
1: 親クラスを定義します

コードをコピー コードは次のとおりです。

var BaseClass = function(){
//....
};
BaseClass.prototype.someMethod = function( ){
//....
};
BaseClass.prototype.overridenMethod = function(){
//....
}

BaseClass の 2 つの関数 someMethod と overridenMethod を定義し、BaseClass からすべてのプロパティと関数を直接継承できる subClass サブクラスを定義します。
コードをコピーします コードは次のとおりです。

var subClass = function(){
BaseClass.call(this);
};
subClass.prototype = new BaseClass( );
subClass.prototype.newMethod = function(){
//...
};
subClass.prototype.overridenMethod = function(){
//.. 🎜>}

上記のコードでは、subClass のコンストラクターはまず BaseClass のコンストラクターを呼び出してデータを初期化し、次にステートメント subClass.prototype = new BaseClass(); を使用して subClass を作成します。 class BaseClass のすべてのプロパティと関数を取得します。このようにして継承が実現されます。この後、サブクラスのプロトタイプを操作したり、サブクラスに新しい関数を追加したり、親クラスの同名の関数をオーバーライドしたりできます。
EXT で Ext.extend() 関数を使用して継承関数を実装する方法:

var subClass = function(){
subClass.superclass.costructor.call(this);
Ext.extend(subClass, BaseClass, {
newMethod: function(){
//...
},
overridenMethod : function(){
//....
}
}) ;


Ext.extend() 関数では、subClass.superclass.costructor.call(this); を通じて親クラスのコンストラクターを直接呼び出すことができます。親クラスのコンストラクターが子クラスのスコープ内で動作することを保証するために、この関数の最初のパラメーターは常に this です。
親クラスのコンストラクターがパラメーターを渡す必要がある場合は、次のように必要なパラメーターをコンストラクターに直接渡すことができます。
subClass.superclass.costructor.call(this, config);
この方法親クラスのすべてのプロパティと関数を継承するサブクラスを取得します。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート