川俣晶が言ってたことは漏れ的には同意できる。
struct aclass{
char* id_;
int value_;

char* id() { return id_; }
int value() { return value_; }
};
で下のような関数は要らないって奴。id_とvalue_を外からは代入せずに
読むだけと決めておけばaclass内部で実装変更があってから初めて
char* id(), int value()を書けばいい。修正個所はコンパイラが検出してくれる。

再利用しないコードでOOする理由は保守性ってことになるが
上のような例やデザパタにあるような複雑な仕組み
を入れたりすると調整や辻褄合わせでコードが巨大になってしまい
余計に保守性が下がる気がするのは漏れだけだろうか?