2011-06-26 4 views
1

私はJFrameを拡張する独自のGUIを作成しました。 JFrameをインポートした先進のプログラマのプログラムコードを見ました。私は、インポートと拡張の違いを知っているかもしれません。しかし、実装のどのような利点が得られますか? 「輸入」することでJava:GUIの作成。 JFrameのインポートまたは拡張?

+1

通常、Jframeを拡張しないでください。このトピックに関する議論のために、ウェブで「コンポジション対継承」を検索してください。 – camickr

+2

JFrameをあなたが意味するメンバーとして使用しているのは誰ですか?どのように使用するにしても、常にJFrameをインポートする必要があります。 – pajton

答えて

2

は、私はあなたがあなたのクラス JFrameのであるのに対し、あなたのプログラマの友人のクラスのJFrameを使用していることを意味推測します。私はJFrameの拡張が「間違っている」とは思っていませんが、私の優先的なアプローチは、JFrameを拡張するのではなく作成して設定することです。実際にアクセスする必要のある保護されたメソッドがある場合は、それを拡張することもできますが、ほとんどの場合、標準のJFrameを作成して設定するだけで正しいと思います。

つまり、実際にJFrameを継承する必要はなく、システムを複雑にするだけです。これは、他のクラスとの継承対集約を選択するときと同じ引数です。何が正しいかを知るには、実際に書いているクラスがの場合は、ウィンドウウィジェットのJFrameなら自分自身に質問する必要があります。私はほとんどの場合、JFrameを必要とするSwingアプリケーションを作成していますが、それ自体はJFrameではないと考えています。これは他の目的のSwingアプリケーションです。

関連する問題