-1
javascriptで抽象クラスを拡張する必要があります。 私はJavascriptを購入しました。The Definitive Guide - O'Reilly jpにOOPのいくつかの例があります。 私は抽象クラスを拡張するために例の1つを実行しようとしましたが、 が "AbstractSet.extendは関数ではありません"と表示されます。 誰かが私に問題の理解を助けることができますか? おかげ抽象クラスの問題を拡張する - javascript
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機能 ないに等しい:機能(すなわち){
いいえ、 "Core Javascript"セクションにあります:(私はそれらがecmascript 5に関連していると思いますし、私のブラウザ(FF 10.0.1)は完全なecmascript 5に準拠しています(http://kangax.github。 com/es5-compat-table /)answareに感謝します。:-) – franco
これは私がしていないものです。 'extend'は、JavaScript実装ではなく、ES5でさえも確実にはありません。 'extend'は典型的にライブラリによって追加され、プロトタイプ鎖をコートする(多くの人は醜いと思うが、私は彼自身には統語的な砂糖ではない。 – swaggler
Uhm ...オクラホマ、それは明らかです。 :-) – franco