これは、SWT UI プログラミングの GridData クラスに関するものです。GridData を final にする必要があるのはなぜですか?
GridData の Java Doc は、最終版であると述べています。なぜそれが最終的なものであるべきかを理解したい。
感謝とよろしく
これは、SWT UI プログラミングの GridData クラスに関するものです。GridData を final にする必要があるのはなぜですか?
GridData の Java Doc は、最終版であると述べています。なぜそれが最終的なものであるべきかを理解したい。
感謝とよろしく
率直に言って、最終的でない理由はありません。拡張されると決定されていないすべてのクラスを作成することは、APIプログラマーの一般的な動作です。
いつファイナルを使うべきですか?詳細については、Javaスタックオーバーフローの質問に該当する場合は常に「final」修飾子を使用してください。また、 SWTサブクラス化FAQにも関連しています。
ソーサラーが正しい。API の観点からは、API の将来の拡張を防ぐために、常にすべてを最終的なものにしたいと考えています。
この特定の例では、その理由はおそらく、デザイナーが将来クラスに追加のメンバーを必要とする可能性があるからです。たとえば、現在のバージョンにはminimumHeight
andがありますが、ありませんandも同様に理にかなっています... しかし、あなたまたは他の誰かがこれらの正確な名前を持つプライベートメンバーで拡張した場合はどうなるでしょうか? その場合、API 拡張は前方互換性がなくなり、多くのコードがこの方法で壊れる可能性があります。minimumWidth
maximumHeight
maximumWidth
GridData