В общих чертах: так в js не делают. Для экземпляра
zot,
this.constructor.superclass === bar.prototype. И, соотвественно,
this.constructor.superclass.identify в
bar.prototype.identify ссылается сам на себя. Делают так:
function foo() {}
foo.prototype.identify = function() {
return "I'm a foo";
}
function bar() {}
extend(bar, foo)
bar.prototype.identify = function() {
return "I'm a bar and " +
foo.prototype.identify.apply(this, arguments);
}
function zot() {}
extend(zot, bar)
zot.prototype.identify = function() {
return "I'm a zot and " +
bar.prototype.identify.apply(this, arguments);
}