2017-09-27 33 views
1

例えば、私は外部クラスのJButtonを宣言して初期化しましたが、内部クラスの内部では、それを隠すことにしました。これは安全なプログラミングの練習ですか?内部クラスセーフプラクティスで外部クラス変数/メンバーにアクセスしますか?

+0

は、私はあなたが私達にあなたのコード:) – dave

+0

を表示する必要があると思うと私は同意:私はあなたが*本当に*役立つ可能性がないかの小さな例のように、あなたの入力与えられた合理的な答えは、より多くの入力を与えたと思います。 – GhostCat

答えて

3

インナークラスの全体の目的は、彼らがその内部クラスの周りラップすることを外部のクラスへアクセスを持っているということです。

一般的な答えは、Java言語が提供する概念を単純に利用していることです。その点から、確かに、それに行きなさい。

しかし、これ以外にも、のような1つの責任の原則のようなSOLIDの原則を念頭に置いてください。意味:内側のクラスが外側のものを使う良い理由があるとき(その "仕事"を終わらせるために) - そうであれば、それに行く。

次に:ある程度、これはスタイルの質問です。インナークラスは、Javaの初期の段階では有名でした。たとえば、特定のリスナーインターフェースを実装するためでした。今日、彼らは「あまり一般的ではありません」 - 多くの人々は「ファイルごとに1つのクラス」を好み、クラスのネストを避けるようにしています。

はあなたが再利用内側の部分にあなたの能力を低下させるよう内部クラスが直接、その外側のクラスに結合され、参照してください。したがって、実際にはという概念の内部クラスは、がその外部クラスに属しているものにのみ使用してください。言い換えれば

  • あなたができるという理由だけで概念を使用していない - この概念を使用することができますので、しかし、あなたが「最良の」ここ
  • 誰もあなたを伝えることはできません特定の要件を実装するためにどのような "あなたのプロジェクトのために働きます。人々が同意しているスタイルについて同輩と同調して、それを使用してください。
関連する問題