>>294
クラスの final 宣言について、

>final の使用によって、そうした決定が設計を制限する可能性がある

>複雑でステートフルなクラスを final と宣言すると、オブジェクト指向の設計を妨害し、
>より小さく、より整合性のあるクラスに簡単にリファクタリングできない

と書いてあるが、よくわからん。必要になった時点で final を外せば良いんじゃないのか?

通常は、継承はカプセル化を壊すため、
継承を前提として注意深く作ったりドキュメントを充実させたクラス以外の public なクラスは
final を宣言すべきなのではないか?