久し振りの更新は久し振りのどう書く?投稿です。
http://ja.doukaku.org/comment/6862/
最初はランダムウォークインターフェイスを定義して、次元数別に別のランダムウォーククラスを書きました。
すると、次元数が変わっても共通の処理が多いことに気が付いたので、1次元のランダムウォーククラスを継承して、いくつかのメソッドをオーバーライドするだけで別の次元数のランダムウォークを書けるようにしました。
実際に書いてみるとオーバーライドしたメソッドが一つだけだったので、引数で処理分けるだけでいいんじゃない?という結論に至りhttp://ja.doukaku.org/comment/6862/のコードになりました。
なんとも無駄の多いコーディングでした。