OCaml : オブジェクト指向 : Java

http://www.jmuk.org/d/?path=2006/06/15やらhttp://jijixi.azito.com/cgi-bin/diary/index.rb?date=20060616やらに刺激されて、ちょっとOCamlのオブジェクトシステムで遊んでみた。
・・・これいいな・・・
構文に目が慣れていないので、目が回る感じがあるけれど、ここ最近のオブジェクト指向プログラミングに対する感覚にものすごいぴったりくる。
特に、

  • 基本がobject式であること
  • 継承と型が無関係であること

が素敵。
まず、基本がobject式なので、どんな場所にでも任意のオブジェクトを定義できる。だから、Javaの内部クラスのような表現はあたりまえのようにできる。
さらに、継承と型が無関係なので、代入互換性のために無理に継承関係を作る必要がない。これは、Javaならインターフェースを使ってやるところ。
あと、多重継承もできるみたい。