Skip to content

Instantly share code, notes, and snippets.

@nasust
Created December 21, 2013 04:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nasust/8065306 to your computer and use it in GitHub Desktop.
Save nasust/8065306 to your computer and use it in GitHub Desktop.
ExtCore使うとJavascriptで簡単に継承をサポートしたクラスが定義できる ref: http://qiita.com/nasu_st/items/51408e762b00a773491f
ClassA = Ext.extend( Ext.util.Observable , { //Ext.util.Observableクラスを基底クラスとしてClassAを宣言する。
constructor: function(){
//クラスがnewされた時に呼ばれる。
ClassA.superclass.constructor.call( this );
//親クラスのconstructorを呼ぶ。
},
alert : function( message ){
alert( message );
},
showAlert : function(){
this.alert( "Class A" );
}
});
ClassB = Ext.extend( ClassA ,{
constructor: function(){
ClassB.superclass.constructor.call( this );//Class Aのコンストラクタを実行
},
showAlert: function(){//overrideする。
this.alert("Class B"); //Class Aのalertが呼ばれる。
}
});
Ext.onReady( function(){
var classAButtonElement = Ext.get( "classA" );
classAButtonElement.on( "click" , function(){
var classA = new ClassA();
classA.showAlert();
} );
var classBButtonElement = Ext.get( "classB" );
classBButtonElement.on( "click" , function(){
var classB = new ClassB();
classB.showAlert();
} );
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment