4

私は現在、多くの共有UIオブジェクト(ボタンなど)を使用する単一のアクティビティのAndroidアプリに取り組んでいます。現時点では、これらのUIオブジェクトをプライベートな非静的クラス変数として宣言しています。これに代わる方法は、オブジェクトをメソッドからメソッドに継続的に渡し、そのように変更することです。最大カプセル化形式を使用すると、かなりの引数の受け渡しが行われるように思われるため、現在、どちらのオプションを優先すべきかはわかりません。誰かがこれに光を当てることができますか?

4

3 に答える 3

5

一般的に、カプセル化は単一のクラス内にデータを隠すことと考えるのが好きです。複数のメソッドがクラス内のそのオブジェクトにアクセスしている場合、それは実際にはカプセル化の原則に違反していません。クラスの外にリークし始めると、カプセル化の問題が発生します。

そうは言っても、ボタンであるプライベートメンバーを持つことはまったく問題なく、複数のメソッドがそのボタンにアクセスできます。

于 2012-12-29T17:18:08.903 に答える
0

上記のように、ジェフは、質問で述べたように1つのアクティビティ内にいるので、引数を渡す必要があり、カプセル化が常に最初に推奨されることです。可能であれば、もう1つ実行することをお勧めします。

カラーコードまたはカラータイプを受け入れる1つの関数を定義し、ボタンのテキストの色を変更するすべての関数からこの関数を呼び出します。このようにして、コードを1つの場所に配置して、同じ操作、つまり色の変更を実行できます。 。

于 2012-12-29T17:34:05.823 に答える
0

引数として渡したいプライベートな非静的変数が実際にクラスのプロパティになるのに意味があるかどうかによって異なります。意味があり、更新/変更を設計で制御できる場合は、先に進んで次のように宣言できます。クラスのメンバー

于 2012-12-29T17:37:40.703 に答える