2011-08-07 11 views
1

私はそれらにアクセスするには、2つのプライベートの要素との二つの方法でこのスーパークラスを持っている:Javascriptでパラメータを持つスーパークラスのコンストラクタを呼び出すにはどうすればよいですか?

function superclass(a,b) { 
    var x = a; 
    var y = b; 
    this.getX = function() {return x;} 
    this.getY = function() {return y;} 
} 

私はそのコンストラクタで、それを2つのパラメータを与えて、スーパークラスのコンストラクタを呼び出すことを「ChildClass」と言うと呼ばれるサブクラスを作成したいです。だから、parent = new SuperClass(2,3)と言うことができます。私はchild = new ChildClass(3,4)と言うことができる必要があり、alert(child.getX())のようなものを書くと、ブラウザshowuldは " 3 "となる。誰もこれを行う方法を知っていますか?

+0

可能性があるのは、http://stackoverflow.com/questions/1586915/performing-inheritance-in-javascript –

+0

より近づくhttp://stackoverflow.com/q/7844843/290182 – beldaz

答えて

0

IIRCでは、JavaScriptでコンストラクタ階層を作成するには、独自に記述する必要があります。

意味し、

function SuperClass { 
} 

function SubClass { 
    this.inheritFrom = SuperClass; 
    this.inheritFrom(); 
} 

SubClass.prototype = new SuperClass(); 

それとも、これはまだ好ましい技術である:

function SuperClass { 
} 

function SubClass { 
} 

SubClass.prototype = new SuperClass(); 
SubClass.prototype.constructor = SubClass; 

JavaScriptの継承少ないPITAを作るためにいくつかのlibsがあります。

David FlannaganのJavaScriptに関する本、プロトタイプについてお読みください。

+1

質問は、 。あなたはあなたの答えにこの問題を全く言及しません。 – beldaz

関連する問題