オブジェクト指向は戦場では必要無し その2
■ このスレッドは過去ログ倉庫に格納されています
0355293
NGNG>たとえば、ディスプレイの解像度が上がって 32767 ピクセル以上になったら
>point はどうなるね?
これについては、
>>311
>long getX()
>
>と戻り値の型が変わるだけじゃないのか。
だな。
>>313
>int getX() があったとしたら、それは潰さずに
>long getXLong() を作るよ。
仮にこうしたとして、これで何が守れるの?
アプリケーションが
int x = p.getX();
と書いていたら、所詮ディスプレイの解像度がintを超えたら対応
できない。つまり、アプリケーションは守れない。
シリアライズしてディスクに突っ込んだデータは、互換性がないか
らこれまた守れない。readObject()を自分で書けば変換可能だが、
それはアクセサの話とは無関係だ。
狭い画面しか使えない古いアプリと、広い画面が使える新しいアプ
リが、同じPointクラス(のソース)を共用できる、というのが「強
いて言えば」メリットなのか… えらく限定されたメリットだよな。
どうせアプリ書き換えるんなら、共有しなくてもいいような気もす
るが。
むしろ、intでやってたんだがメモリが足りなくなって、
「しょうがない、Pointのフィールドをshortにしよう」
という選択をしたときには、フィールドをprivateにした恩恵を受
けられるかもしれない。
でも… そんなこと、あるか?
あんまり確率の低いことに保険料払うのはどうかと思うぞ。
この場合の保険料とは、アプリのソースが汚れること。
■ このスレッドは過去ログ倉庫に格納されています