>  2007/06/18 (月) 10:44:50        [qwerty]
> > 今見てみたらObjectの拡張は一個だけあった(;´Д`)他はEventとかFunctionとかワシワシ
> > つか漏れJavascript嫌いだったんだけど最近嵌りつつあるな
> > 例外クラス実装したり抽象クラスを作ってそこから継承(プロパティ継承じゃない真の継承)しつつ他のクラス作ったりしてる
> よくわからんがjavascriptに継承はまだ導入されてないだろ?(;´Д`)
> それっぽく真似てるって事なのでしょうか
> 漏れは関数的にやってるな

http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Property_Inheritance_Revisited:No_Multiple_Inheritance

これに改良を加えたようなもので誤魔化してます(;´Д`)
言語レベルでの継承じゃないので問題(コンストラクタとか)も出てくるのでクラス作成・クラスから継承とか諸々全ては自作クラスファクトリを経由するようにして対処してる
お陰で抽象クラスもどきからの継承とinstansofの使用によるメソッドの保証とか出来るので精神的(;´Д`)

var IO = Factory.create();

IO.prototype = {
   initlaize: function() { throw 'can not create'; },
   read: finction() {...},
   coreIO: ...
};

var io = new IO; // error

var FileIO = Factory.create(IO);

FileIO.prototype = {
   initlaize: function(string path) {... },
   ...
};

var f = new FileIO('unkomoretawarai.txt'); // OK
alert(f instanceof IO) // true

適当な例だけどこんな感じ(;´Д`)

参考:2007/06/18(月)10時19分05秒