ま、それはさておき、doubleが前提なら、いつか「2次元座標クラ
ス」を極座標系に対応させることになるかもという主張はわからな
いでもない。

そういう場合、どうするかなんだが。

「最初は普通にprivateなx, y とアクセサからなるクラスを作る。
 後になって極座標が欲しくなったら、極座標用のアクセサを追加
するが、フィールドはx, yのままにして、毎回変換する」

でも、これなら、x, yがpublicでも、同じことができる。

「最初の設計では出てこなかった極座標の方が、実は直交座標よりも
 頻繁に使うことがわかった。内部的な持ち方を極座標に統一する」

というケースではフィールドをprivateにしたことが効いてくるだ
ろうが…

そんなこと、あるか?

最初からAbstractPointを継承して直交座標を作っといて、
極座標もAbstractPointから継承し、AbstractPointには両方のイン
タフェースを持たせる(変だなあ…)という案もあるかもしれんが、
ここはYANGIを推しときたい。