2

これは、SWT UI プログラミングの GridData クラスに関するものです。GridData を final にする必要があるのはなぜですか?

GridData の Java Doc は、最終版であると述べています。なぜそれが最終的なものであるべきかを理解したい。

感謝とよろしく

4

2 に答える 2

2

率直に言って、最終的でない理由はありません。拡張されると決定されていないすべてのクラスを作成することは、APIプログラマーの一般的な動作です。

いつファイナルを使うべきですか?詳細については、Javaスタックオーバーフローの質問に該当する場合は常に「final」修飾子を使用してください。また、 SWTサブクラス化FAQにも関連しています。

于 2011-07-06T07:13:48.733 に答える
0

ソーサラーが正しい。API の観点からは、API の将来の拡張を防ぐために、常にすべてを最終的なものにしたいと考えています。

この特定の例では、その理由はおそらく、デザイナーが将来クラスに追加のメンバーを必要とする可能性があるからです。たとえば、現在のバージョンにはminimumHeightandがありますが、ありませんandも同様に理にかなっています... しかし、あなたまたは他の誰かがこれらの正確な名前を持つプライベートメンバーで拡張した場合はどうなるでしょうか? その場合、API 拡張は前方互換性がなくなり、多くのコードがこの方法で壊れる可能性があります。minimumWidthmaximumHeightmaximumWidthGridData

于 2011-07-07T21:01:18.130 に答える