
ファイナルクラスを使用する理由
視野を最小化する
最後のプレフィックスが付いたクラスを見ると、そのクラスを他のクラスで拡張できないことがわかります。これにより、クラスが読みやすくなるだけでなく、ロジックのスコープがその特定のクラスに限定されていることを確認できます。
継承よりも構成のアプローチを奨励する
オープン/クローズドの原則は、クラスは拡張のためにオープンであるが、変更のためにクローズされるべきであると述べています。
何らかの理由で(理由自体を十分に理解している)継承を使用することにした場合は、最後のキーワードを削除するだけで完了です。
「デフォルトで」クラスを拡張できない場合(最終的なため)、まず、継承ではなく構成を使用することを検討することで、自分自身を助けています。
このクラスが最終ではないのはなぜですか?
継承ではなく構成を目指す場合は、継承をできるだけ避け、本当に必要な場合にのみ使用する必要があります。OOP継承はしばしば誤用されます。
妄想
OOPを最初に研究したとき、継承の典型的な例を示しました。しかし、Alan KayがSmalltalkを作成したとき、継承は彼の主要な概念ではありませんでした。主なコンセプトはメッセージングでした。つまり、オブジェクトにメッセージを送信でき、データとロジックをカプセル化します。実際には合成であるさまざまなオブジェクトを使用して、それらの動作を変更できます。しかし、結局のところ、継承の概念は非常に人気があり、最終的には構成を覆い隠してしまいます。
最終クラスを使用する利点
- . .
- . , .
- . , .
- . , . .
- . .
- . , , .
- . .
- , , .
- , , . , . , , .
[ ]
- .
- .
- 構成を(クラスコンストラクターを介したDIを介して)使用して、物事をまとめ、複雑さを最小限に抑えます。
小計:インターフェース->最終クラス->構成