私はこのようなコードを持っていますサブクラス?単純に公開方法にする唯一の方法はありますか?プロトタイプは
#########OKですので、subClassがbaseClassの外側になるようにコードを再配置しました。私はbaseClassを渡すので、subClassは引き続きbaseClassのインスタンスのプロパティにアクセスできます。
var baseClass = function() {
var base = this;
this.property_a = 1;
this.property_b = 5;
var sub = new subClass(base);
// CODE
}
var subClass = function(parent) {
var sub = this;
this.property_c = 1;
this.method_a = function() {
return sub.property_c + parent.property_a;
}
// MORE CODE
}
これは結構ですと動作しますが、今私はプロトタイプを使用してメソッドを追加する際の新たな問題を抱えている:
subClass.prototype.method_b = function(){
return sub.property_c + parent.property_b;
}
私は親が定義されていないというエラーを取得します。
私は基本的に2つの側面、閲覧側と編集面を持つかなり単純なWebアプリケーションを持っています。表示に必要なものがすべて含まれた基本クラスを作成し、編集に必要なメソッドを別のファイルに追加して、ユーザーが編集ページにあるときにのみ読み込まれるようにします。
baseClassの内部からsubClass.prototype.newMethodを実行するだけです。私はそれがgilly3の答えだと思う。個人的に、私はなぜあなたが 'クラス'の定義に続いてメソッドを追加しなければならないのかわかりません、どうしてJavaScriptを複雑にしなければならないのですか?これは、手順を定義するのとは対照的に、手続き的にクラスを作成するようなものです。 –