【EffectiveJava[17]】
<第 4 章 クラスとインタフェース>
項目17: 継承のために設計および文書化する、でなければ継承を禁止する
■著書からの要点抜粋
・クラスはオーバーライド可能なメソッドの自己利用(self-use)を文書化しなければなりません。
・クラスは、賢く選択されたprotectedのメソッドの形で、
クラス内部の動作へのフックを提供しなければならないかもしれません。
・継承のためにクラスを設計することは、そのクラスにかなりの制限を課すことが明らかです。
・この問題に対する最善の解決策は、
安全にサブクラス化されるための設計と
文書化をされていないクラスでのサブクラス化の禁止です。
■所感
項目16から繋がるイメージ。
中で何をしているか、内部的に自己メソッドを呼び出しているか明記していなければ
継承するな。ラッパを使用しろ。というのが主旨だろうか。
- 作者: Joshua Bloch,ジョシュア・ブロック,柴田芳樹
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2001/12/03
- メディア: 単行本
- 購入: 5人 クリック: 124回
- この商品を含むブログ (105件) を見る