javascriptのクラスの使い方

 

javascriptではプロトタイプというものをクラスとして使う。
 
基本的な使い方
 
var Prototype = function() {};//宣言
 
var hoge = new Prototype();//オブジェクトの作成
 
コンストラクタ
 
クラスの宣言時に中身を入れておくとコンストラクタになる。オブジェクトの作成のときに値をわたすといい。
 
var Prototype = function( x1 ) {this.x1_ = x1;this.x2_ = 2;}
 
var hoge = new Prototype(1);
 
変数
this.x1 = 1;
this.x2 = 2;
 
メソッド
メソッドは変数に関数を入れることで設置することができる。
this.getResult = function() {return this.x1 + this.x2;}
 
メソッドは後からオブジェクトに追加すことができる。
hoge.hogefunc = function( x2 ) { this.x2_ = x2;}
 
jsのクラスであるプロトタイプはprototypeオブジェクトというものを持っており、それを経由することで、各オブジェクトはクラスにメソッドやプロパティーを作成したり、それらを利用できるようになる。
 
クラス名.prototype.プロパティー
Prototype.prototype.x3_ = 3;
 
クラス名.prototype.メソッド
Prototype.prototype.setX2 = function( x2 ) { }
 
prototypeオブジェクトで追加したプロパティに、各オブジェクトで追加した値は、そのオブジェクトのみが保持するようになり、すべてのオブジェクトで共通というわけではない。
 
プロパティーをdeleteで削除するとクラスのプロパティを参照するようになる。
 
継承
prototype オブジェクトに親のオブジェクトを入れることで、親のメソッドなどを利用できるようになる。
var Prototype1 = function() {};
Prototype1.prototype = {method1 : function() { return 1 }};
var Prototype2 = function() {};
Prototype2.prototype = new Prototype1();
 
var p = new Prototype2();
p.method1() ;
 
その他
「this.」で宣言するクラスのプロパティと「var 」で宣言するクラスない変数ではオブジェクトにしたときにプロパティは使えるけど、変数は使えないので違う。
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です