Web/DB プログラミング徹底解説

ホーム > JavaScript プログラミング > オブジェクトマスカレーディングによるクラスの継承 ~ JavaScript によるオブジェクト指向プログラミング

オブジェクトマスカレーディングによるクラスの継承 ~ JavaScript によるオブジェクト指向プログラミング

ここでは 関数による継承 (Functional Inheritance) を説明します。 大変自然な方法なので、ぜひ理解し活用したいものです。

以下の例では person クラスを先に定義し、次に student に継承します。 student は person オブジェクトの say_hello を継承するほか、go_school という名前のメソッドを追加しています。

var person = function (n) {
	var name = n;
	return {
		say_hello: function() {
			alert( name );
		}
	};
};

var student = function(n) {
	var that = person(n);
	that.go_school = function() {
		alert('Hi');
	};
	return that;
};

var s1 = student('Ichiro Suzuki');

s1.say_hello();
s1.go_school();

クロージャを理解していれば、コードは簡単に理解できると思います。

実装も簡単ですし、保護したいデータもちゃんと保護されています。 この方法を基本として考えるべきと思います。

JavaScript によるオブジェクト指向プログラミング 目次