0
私はJavascriptを継承して練習してる、私の最初の試みは、次のコードされています。そのポイントにアクセス公共方法 - JavaScriptの継承
var base_class = function()
{
var _data = null;
function _get() {
return _data;
}
this.get = function() {
return _get();
}
this.init = function(data) {
_data = data;
}
}
var new_class = function() {
base_class.call(this);
var _data = 'test';
function _getData() {
return this.get();
}
this.getDataOther = function() {
return _getData();
}
this.getData = function() {
return this.get();
}
this.init(_data);
}
new_class.prototype = base_class.prototype;
var instance = new new_class();
alert(instance.getData());
alert(instance.getDataOther());
を私は私の解決策には本当に満足していますしかし、私は解決されていない1つの問題 があります。
"getDataOther"メソッドは、new_classの保護された "_getData"メソッドからパブリック "get"クラスにアクセスできないため、格納されたデータを基本クラス から返しません。
どうすれば実行できますか?
ありがとうございます。
Psの:あなたは(base_class
_data
フィールドを上書き)this.init
機能をコメントアウトし、new_class
のgetData
機能だけで_data
を返すようならば、あなたは明確な得ることができる必要があり、私の下手な英語
おかげで、これは=動作するようになりました)...しかし、なぜのgetData()は「ヌル」ではなく継承したクラスからの「テスト」とは? ?? – Moszeed
'this.init(_data)'のコメントを外します。私はそれが私がそれが親の変数を見ていたことを確認できるようにコメントしました。 –