私はJFrameを拡張する独自のGUIを作成しました。 JFrameをインポートした先進のプログラマのプログラムコードを見ました。私は、インポートと拡張の違いを知っているかもしれません。しかし、実装のどのような利点が得られますか? 「輸入」することでJava:GUIの作成。 JFrameのインポートまたは拡張?
1
A
答えて
2
は、私はあなたがあなたのクラスが JFrameのであるのに対し、あなたのプログラマの友人のクラスはのJFrameを使用していることを意味推測します。私はJFrameの拡張が「間違っている」とは思っていませんが、私の優先的なアプローチは、JFrameを拡張するのではなく作成して設定することです。実際にアクセスする必要のある保護されたメソッドがある場合は、それを拡張することもできますが、ほとんどの場合、標準のJFrameを作成して設定するだけで正しいと思います。
つまり、実際にJFrameを継承する必要はなく、システムを複雑にするだけです。これは、他のクラスとの継承対集約を選択するときと同じ引数です。何が正しいかを知るには、実際に書いているクラスがの場合は、ウィンドウウィジェットのJFrameなら自分自身に質問する必要があります。私はほとんどの場合、JFrameを必要とするSwingアプリケーションを作成していますが、それ自体はJFrameではないと考えています。これは他の目的のSwingアプリケーションです。
関連する問題
- 1. 拡張のJFrame
- 2. は(インポート/拡張)
- 3. Silverlight - 拡張サイドパネルの作成
- 4. クローム拡張作成 -
- 5. google map apiクラスの拡張(またはラッパーの作成)
- 6. クローム拡張私はChromeの拡張機能を作成したインラインJS
- 7. 既存のSplitContainerを新規作成または拡張する
- 8. JFrameを拡張した後のJavaでのエラーメッセージ
- 9. Java:GUIアニメーションの操作方法は?
- 10. Pythonのインポート:.py拡張子を持たないモジュールのインポート?
- 11. MVCの作成Deleteボタンの拡張 - MVCのHtmlヘルパーを拡張するには?
- 12. Flask拡張子をアプリケーションファクトリで作成したときにインポートする
- 13. Hybris:acceleratorservices拡張のためのアドオンを作成するには?
- 14. Rインポート.dataファイル拡張子
- 15. アプリケーションのAzure拡張プロパティの作成
- 16. PythonのC++拡張機能の作成
- 17. ReactiveX私は、フォームの拡張メソッドを作成したいタイマー
- 18. 別のPHP拡張モジュールを拡張するPHP拡張モジュールを作成しますか?
- 19. メンバーシップユーザー作成機能の拡張
- 20. サービス拡張の作成/統合
- 21. 拡張可能なGrailsアプリケーションの作成
- 22. Typo3マスク拡張グリッド要素の作成
- 23. Typescriptでは、ライブラリのクラスの拡張メソッドを作成します
- 24. ファクトリパターンまたは拡張メソッド?
- 25. クローム拡張作成 - 拡張ワークスすると、Webストア
- 26. Python:拡張機能のインポートに失敗しました - Errno 2
- 27. クラス拡張GCanvasはjava.awt.eventのをインポートした後addComponentListener
- 28. ASCIIリビジョングラフツールまたは拡張?
- 29. 拡張とインポートの問題 - Android
- 30. VSCode用のPython自動インポート拡張
通常、Jframeを拡張しないでください。このトピックに関する議論のために、ウェブで「コンポジション対継承」を検索してください。 – camickr
JFrameをあなたが意味するメンバーとして使用しているのは誰ですか?どのように使用するにしても、常にJFrameをインポートする必要があります。 – pajton