>>131 VCLで最初から使われている例として、
class function NewInstance: TObject; virtual;
なんてのがありますね。
これからCreateされるInstanceのメモリ領域を取る方法「を」
overrideできるわけだ。
「インスタンスは存在してない」時点で使うメソッドであり、
かつ「クラスごとに違う挙動にしたい」けど「クラスごとに
違う名前の(=別の)メソッドにはしたくない」という場合、
クラスメソッドをvirtualにするのが美味しい手です。
C++やJavaには出来ない芸当なんだな(^^;
というか、これを擬似的に実現するために
わざわざデザインパターン(AbstractFactoryだっけか?)を
引っ張り出さないとならないわけね。
delphiなら一発!delphiまんせー
ちなみにNewInstanceについて言えば、C++だと
new演算子のoverloadで似たようなことを実現
したりしますね。
ただ、俺ぁDelphi方式のほうがモダンかつシンプル
だとは思うのだが。
蛇足だがObjectiveCもdelphiと同じ手が使えるようだ。
delphiの直系の先輩はObjectiveCなんじゃないかな。
ObjectiveCよりちょっとだけ静的型寄りに振った言語がdelphi。