前田です。

At Thu, 02 Nov 2000 00:38:11 +0900,
matz / zetabits.com (Yukihiro Matsumoto) wrote:
> |・new と initialize に関する今回みたいな話。(別スレッド
> |  でもそのような話題になってますね)
> 
> どんな話でしたっけ?

たぶん、どっちを再定義するべきか、という話なんじゃないでしょうか。

簡単に言って、

newはオブジェクトの生成
initializeは生成されたオブジェクトの初期化

をそれぞれ行います。

したがって、T_OBJECTでない(たとえばT_DATAの)クラスを定義する時は、
newを再定義する必要があります。
# initializeがよばれる時にはすでにT_OBJECTなオブジェクトを生成し
# てしまった後だから。

Bufferクラスでnewを再定義してるのは、たぶん最初はT_DATAで実装した
からだと思います。

-- 
前田 修吾