Мне нужно расширить абстрактный класс в JavaScript.
Я купил Javascript «Полное руководство» - О'Рейли
Есть несколько примеров ООП в JS.
Я попытался выполнить один из примеров для расширения абстрактного класса,
но я получаю «AbstractSet.extend не является функцией».
Может ли кто-нибудь помочь мне понять проблему?
Спасибо
function abstractmethod() { throw new Error("abstract method"); }
function AbstractSet() { throw new Error("Can't instantiate abstract classes");}
AbstractSet.prototype.contains = abstractmethod;
var NotSet = AbstractSet.extend(
function NotSet(set) { this.set = set; },
{
contains: function(x) { return !this.set.contains(x); },
toString: function(x) { return "~" + this.set.toString(); },
equals: function(that) {
return that instanceof NotSet && this.set.equals(that.set);
}
}
);
--- Консоль Firebug
AbstractSet.extend не является функцией
равно: функция (та) {