Rubyist Magazineの
http://jp.rubyist.net/magazine/?0002-WCNewsPaper#l7
を読んで、
「オブジェクト指向言語ってすごく不自然なプログラミングをさせるんだな。
こんなの初心者に向いてるか?」
と思った。オブジェクト指向を勧める人の意見を聞いてみたい。

題材は、七並べみたいなもので、
二つのカードが隣り合わせに置けるかどうか判定する、というもの。

普通は(OOPに染まってない初心者がいれば意見歓迎)
「トランプは…数字のカードとジョーカーがあるんだよな」
と考えるのではないかと思うのだけど、筆者は、

トランプの数字カードをCardクラス(基底クラス)にして、
そのメソッドとして数字カード用の判定する関数を実装し、
その上で、
Jokerを特異メソッド(Ruby)か継承(Java)でそのメソッドをオーバーライド
することで表現してる。

疑問:
    なんでいわゆる「トランプ」そのものじゃなくて
    「七並べ用のカード」なんてものを定義しようと思うんだろう?
    それに、他のゲームに流用できなくなってしまってる。

    Jokerが数字カードの一種っておかしくない?
    トランプには数字カード*と*Jokerとがあるんだと思うんだけど。