インターフェイスを濾しとりたい

静的型付けなOOPでは、継承は「差分プログラミング」の側面と「サブタイピング」の側面があります。あるクラスを継承するとき、それがポリモーフィニズムのために行うのか、差分プログラミングのために行うのかを意識していないと、すぐワヤになってしまいます。なのでinterface と class に分けて考えるのは、人に優しいとは思います。おっとちょっと脱線。

インターフェイスを切るのはいいのだけれど、ちょっと面倒くさすぎるなぁ、どうにかならないかなぁと思うケースがあります。例えばユニットテストのスタブ作成の為だけにインターフェイスを切ったりとか、ヌルオブジェクトの為にインターフェイスを切ったりとか。動的なOOPLが恋しくなる瞬間です。

こんな場合、元のオブジェクトを派生してなんでもかんでもオーバライドしちゃう事が多いですが「場当たり的にぐりぐり塗りつぶして上書き」より、既にあるクラスからインターフェイスだけ抽出して、それを他のクラスに適用出来たら便利だしスマートだなぁとふと思ったところ、ああ、そういえば、LL魂で まつもとさんが昔そんな言語(Classic という名前だった)を作ったとか話していたなぁと思い出しました*1。そして作ってみたけど使えなかったとも・・・・・・。

うーん、つかえないのかぁ。よさそうなのに、残念。でもやっぱり使ってみたいです、Classic。

*1:ロクなメモが残って無くって、もしかしたら記憶違いかもしれないです