0
我正在簡化我的示例以瞭解我的問題。我有一個具有特權功能的基類Javascript類。我真的需要隱藏myVar以免被看到,我也很想繼承baseClass
。具有特權功能的Javascript繼承
function baseClass() {
var myVar = new coolClass();
this.myPrivileged = function() {
myVar.coolFunction();
}
}
我得到的問題是,我想繼承,像這樣:
function childClass() {
}
childClass.prototype = new baseClass();
childClass.prototype.reallyCoolFunction = function() {//Really cool stuff}
但myVar的只有一個實例將永遠被創建,這將無法工作,因爲coolClass
例如具有相關屬性。 所以,如果我這樣做:
var x = new childClass();
var y = new childClass();
x和y將有baseClass.myVar
相同的實例所以就我自己看着辦,我有兩個選擇:
- 充分利用
myPrivileged
函數原型函數並公開myVar
- 將
baseClass
的內部複製並粘貼到childClass
(這讓我想要堵嘴)
我不是javascript的大師,所以我希望有人會有一個好主意。
在此先感謝
你應該看看[coffeeScript](http://coffeescript.org/) – Kyle 2012-03-20 03:58:49
@凱爾:你至少應該提出一些理由來評論你的評論。大多數人不願意開始使用一些編譯成JS的語言,因此無法進行調試。 – 2012-03-20 04:11:06
@JuanMendes「無法調試?」不,不是。這只是你的意見。 – Kyle 2012-03-20 04:16:59