特集PC技術

とあるJavaScriptの情報図書

 

【JavaScript】[ECMAScript] オブジェクト指向のその他

今回はオブジェクト指向におけるちょっとしたプログラムごとについて解説をします。

目次

[1] カプセル化をしてみる

カプセル化とは、オブジェクトのデータ(プロパティ)、振る舞い(メソッド)の機能を隠すことです。
JavaScriptでは擬似的にこのカプセル化をすることができます。

プライベートプロパティを定義してみる
function Human(name){
	// パブリックプロパティ
	this.name = name;
	// プライベートプロパティ
	var blood = "O";
}

var hopsii = new Human("ほぷしぃ");

// プライベートプロパティに直接アクセスができない
document.writeln(hopsii.name);
document.writeln(hopsii.blood);

プライベートプロパティはvar宣言をつけて実行します。
ただ、このままだとプライベートプロパティを参照することができません。
定義されている(?)けど、直接参照できないことは確認できます。

プライベートプロパティを参照するメソッドを定義する

プライベートプロパティに直接アクセスすることができませんので
プライベートプロパティにアクセスするための機能(アクセサメソッド)を追加してあげます。

function Human(name){
	// パブリックプロパティ
	this.name = name;
	// プライベートプロパティ
	var blood = "O";

	// クロージャを定義する
	this.getBlood = function(){
		return blood;
	}

}

var hopsii = new Human("ほぷしぃ");
document.writeln(hopsii.getBlood());

このようにクロージャを使用してあげるとまるでカプセル化されたかのような動作を実現できます。
カプセル化は、var宣言した変数にアクセス用のメソッドを書くことにより実現ができます。

[2] 更新履歴

日付 詳細
2011/09/20 コンテンツ公開

コメントの投稿


画像の中に見える文字を入力してください。

トラックバックURL

http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1713

サイト内検索

twitterTwitter

最新ブログ記事

2014年05月12日

Unityでミニゲームを作ろう!

[第1回]Unityってどんなツール?

2013年11月13日

独学iOSプログラミング

第5回 XCodeデバック設定

2013年10月09日

独学iOSプログラミング

第4回 iOSの確認したいこと

2013年09月11日

独学iOSプログラミング

第3回 iOSプログラミングの開発方法

2013年06月12日

独学iOSプログラミング

第2回 iOSプログラミングの基本

ISL 情報戦略研究所

pagetopこのページの先頭へ戻る