ArrayList と List の話

http://www.kmonos.net/wlog/58.php#_2309060206

のあたりから、なんか議論全然おってませんがなんとなく。

public メソッドは全て interface で記述したものをオーバーライドすべきだみたいな主張があった気がするんですが、あれを進めて ArrayList から List を抽出できれば interface 作る手間がはぶけていいんじゃないかなーとか。

class ArrayList { /* ... */ }
interface List = ArrayList;

しょせん .c から .h を生成する人間の発想。

ていうかこれって結構やったことあって、 Ruby とかで、

Store = PStore
# Store = YAML::Store

とか書くような。クラスがオブジェクトな言語でのあぶすとらくとふぁくとりーぱたーん、じゃなくてふぁくとりめそっどぱたーんか。

Prototype

プロトタイプベースがいい…そういや D の this ってなんかこいうのできたらいいのになって昔思った気がします。

class Base {
  abstract this(Base b);
}
class Derived1 {
  this(Base b) {}
}
class Derived2 {
  this(Base b) {}
}
int main() {
  Base orig = new Derived1();
  Base clone = new Base(orig);
}

一引数コンストラクタだけ何故か multiple dispatch 。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h