superに渡したオブジェクトを使いたい

(from きしだのはてな and 今日の役に立たない一言)
私はサブクラスで堂々と参照を重複していてもいいんではないか、と思う。

継承する(できる)ことを前提としてスーパークラスが設計されているにも関わらず、フィールドがprivateでかつ使えそうなセッタ・ゲッタもない場合、サブクラスとスーパークラスの間での通信はこの点においては事実上遮断されている(public/protectedな操作はオープン)

で、これが意図した設計なのかどうかを判別するのも実はすごく難しい作業だと思う。仮に「いや、やっぱこれはおかしいでしょ」といえる場合に限っていえば、たいていそのソースコードは閲覧可能な状態にあるので、氏が「逃げ方」と表現されている参照をサブクラスでも重複して保持する方法が賢明ではないか?個人的には「逃げ」どころか正解だと思っている。

お気に入りの設計はフィールドそのものをprotectedにするか、protectedなセッタ・ゲッタを準備すること。サブクラスがスーパークラスのフィールドを直接アクセスするコードは、時として意図しない動作をすることがあるし、親子間でもメソッドベース(メッセージベース)での通信を行う前提に立ったほうが楽っぽいと思っている。

・・・てか、こういうケース、よく遭遇するんですが運が悪いだけなんでしょうか。