GameCorder.net

このエントリーをはてなブックマークに追加

3.javascriptのクラスの作り方

javascriptでのクラスの作り方です。
色々参考にすると、クラスといういい方は適切でないらしいです。

function クラス名(){
	// メンバー変数
	this.メンバー変数名;
	
	// メソッド
	this.関数名 = function(){
	
	}
}
		

メンバー変数にアクセスするときは、必ず参照の意味があるthisを使います。
メソッドを定義する場合も同じです。
以上がクラスの定義方法です。
メンバー変数と、メソッドがあってクラスのようですが、
宣言がfunctionになっています。
クラス的なものはできるけど、元々クラスという概念がないのか

クラスを実際に作ってみる

では、実際にクラスを作ってみます。


function DogClass(name){
	this.name = name;
	this.show = function(){
		console.log(this.name);
	}
}

var myDog = new DogClass("dog");
myDog.show();

実行結果

dog
		

var myDog = new DogClass("dog")
new演算子を使用して、myDogオブジェクトを作成します。
クラスのメンバーアクセスの方法は.を利用します。
例えば、name変数にアクセスしたい場合は
myDog.name
とすれば参照が可能になります。

クラスのメンバーにアクセスする

作成したmyDogオブジェクトのメンバーにアクセスする方法です。 javascriptでは、privateとかpublicなどの指定がない為
メンバーの中身を変えることができます。

myDog.name = "cat"
myDog.show();

実行結果

cat
        

上記のようにクラスのメンバーにアクセスすることが可能です。

クラスのメソッドから同じクラスのメソッドを呼び出す

では、最後にクラスのメソッドから同じクラスのメソッドを呼び出す方法です。

function DogClass(name){
	this.name = name;
	this.show = function(){
		console.log(this.name);
	}
	
	this.myName = function(){
		console.log("my name is");
		this.show();
	}
}

var myDog = new DogClass("dog");
myDog.myName();

実行結果

my name is
dog
		

クラスのメソッドから、同じクラスのメソッドを呼び出すには、やはりthisを使用します。
当たり前でしたか...