オライリーのJavaScriptを続けて読んでみています。以下はサブクラスの作り方。
// ベースクラス。
function BaseClass( param ){
this.baseProp = param;
}
// サブクラス
function SubClass( baseParam, subParam ){
// BaseClassのコンストラクタをSubClassのthisでコール(委譲)する。
BaseClass.call( this, baseParam );
this.subProp = subParam;
}
// SubClass.prototypeがObjectのサブクラスになってしまうので
// 明示的にBaseClassでnewする。
SubClass.prototype = new BaseClass();
// コンストラクタはSubClassとする。
SubClass.prototype.constructor = SubClass;
// サブクラスでメソッドの拡張
SubClass.prototype.offset = function(){
return this.subProp - this.baseProp;
}
var inst = new SubClass( 2, 5 );
inst.offset();
うーん。例が悪いかな。見せたいのはoffsetメソッドによるBaseClassの拡張。










