我正在尝试模仿 Java 风格的类继承,并且我认为我已经成功了。但是,我遇到一个问题,当我创建同一 Javascript 类的多个实例时,所有实例的创建方式都是相同的。
情况是这样的。
我有一个名为 Screen
的 Javascript 类:
function Screen(screenName) {
this.current = new DataResultSet(); // this is a java class
this.current.setScreenName(screenName);
}
Screen.prototype.GetScreenName= function() {
return this.current.getScreenName();
}
Screen.prototype.GetFieldValue= function(name) {
return this.current.getValue(name);
}
// some other functions that can be called that utilize the current object.
这是继承的类:
function screenSub1() {}
screenSub1.prototype=new Screen("screenSub1");
screenSub1.prototype.GetID = function() { return GetFieldValue("ID"); }
// some other functions that can be called, specific to this class
现在,在我的代码中,如果我这样做
var obj = new screenSub1();
var obj2 = new screenSub1();
两个对象的底层“当前”对象是相同的!有办法解决这个问题吗?谢谢!
Julia
最佳答案
据我所知,你不能(至少不容易,也许你可以找到一些模仿 java 类继承的 javascript 库)。 Java 和 Javascript 在继承方面有很大不同。如果您想了解有关该主题的更多信息,您可以在此处查看:https://developer.mozilla.org/en/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
关于javascript - 在 Javascript 中模仿 Java 风格的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30193966/