我正在根据我在网上找到的不同示例在 JavaScript 中练习多态性(第一次尝试)。我知道在其他语言中我可以从扩展的超类中访问超类的变量,并且想知道如何在 JavaScript 中正确执行此操作。下面的代码不会抛出任何错误(至少就 Firefox 的错误控制台而言),但statement
在ExtendedClass
.
function MyClass() {
this.statement = "I'm a class with a method";
this.speak = function() {
alert(this.statement);
}
}
var mInstance = new MyClass();
mInstance.speak();
function ExtendedClass() {
Object.create(MyClass);
this.speak = function() {
alert(this.statement+" and I extend a class");
}
}
var eInstance = new ExtendedClass();
eInstance.speak();
我可以statement
从访问ExtendedClass
吗?这是实现多态性的好方法吗?