PHP、Java、その他の言語での最終クラス

最終クラスを使用するか、最終クラスを使用しないか?それが問題です。また、いつ、どのようにそれを正しく行うか。







ファイナルクラスを使用する理由



視野を最小化する



最後のプレフィックスが付いたクラスを見ると、そのクラスを他のクラスで拡張できないことがわかります。これにより、クラスが読みやすくなるだけでなく、ロジックのスコープがその特定のクラスに限定されていることを確認できます。



継承よりも構成のアプローチを奨励する 



オープン/クローズドの原則は、クラスは拡張のためにオープンであるが、変更のためにクローズされるべきであると述べています。



何らかの理由で(理由自体を十分に理解している)継承を使用することにした場合は、最後のキーワードを削除するだけで完了です。



「デフォルトで」クラスを拡張できない場合(最終的なため)、まず、継承ではなく構成を使用することを検討することで、自分自身を助けています。



このクラスが最終ではないのはなぜですか?



継承ではなく構成を目指す場合は、継承をできるだけ避け、本当に必要な場合にのみ使用する必要があります。OOP継承はしばしば誤用されます。



妄想



OOPを最初に研究したとき、継承の典型的な例を示しました。しかし、Alan KayがSmalltalkを作成したとき、継承は彼の主要な概念ではありませんでした。主なコンセプトはメッセージングでした。つまり、オブジェクトにメッセージを送信でき、データとロジックをカプセル化します。実際には合成であるさまざまなオブジェクトを使用して、それらの動作を変更できます。しかし、結局のところ、継承の概念は非常に人気があり、最終的には構成を覆い隠してしまいます。



最終クラスを使用する利点



  • . .
  • . , .
  • . , .
  • . , . .
  • . .
  • . , , .
  • . .




  • , , .
  • , , . , . , , .


[ ]



  • .
  • .
  • 構成を(クラスコンストラクターを介したDIを介して)使用して、物事をまとめ、複雑さを最小限に抑えます。


小計:インターフェース->最終クラス->構成



All Articles