2009-07-12 16 views
1

私は最終的にプロトタイプとその使い方を理解しています。 私はまだこれをJavaの継承の問題として解決しようとしていると確信しています。もしこれについてもっとプロトタイプの方法があるなら、私に教えてください。プロトタイプ継承(javascript)

BがAを継承する場合は、Bのコンストラクタに最初にAのコンストラクタを実行させます。これは、Bの局所変数を設定するために重要です。最初に私はそれが本質的

function B() 
{ 
    new A(); 
} 

を言うと同じであると正しく動作しませんもちろんの

function B() 
{ 
    B.prototype.constructor(); 
} 
B.prototype = new A(); 

このような何かをやって考え、実際にJavaの方法で、コンストラクタを拡張する方法はあります? これについてもっと良い方法がありますか?

{編集}私はプライベート変数にアクセスしようとしていたという問題を認識しました。プライベート変数がプロトタイプから継承されないと仮定していますか?

答えて

2

あなたがAのコンストラクタを呼び出すBのプロトタイプにオブジェクトをコピーする場合:もし

B.prototype = new A(arguments, here); 

わからない:コンストラクタの引数を通じてセットアップAのローカル変数へ

B.prototype = new A(); 

を、あなたがこれを行うことができますあなたの質問に答えます。

-3

クラスエミュレーションをサポートするAjaxフレームワークを使用できます。クラスとエイリアスの継承はJavaScriptで非常にうまく処理されます。 JS.Classもご覧ください。

+1

「すべてのAjaxフレームワーク」についてはわかりません。 jQueryはJavaScriptにクラスを追加しません。 – Nosredna

+0

よかった。私はjQueryを使ったことはありません。 –