オープンソースにする予定のアプリケーションを (Java で) 作成する場合、多くのゲッターとセッターを用意し、変数を非公開にするのは一般的に良い考えですか? より具体的には、それがAndroid アプリケーションである場合、上記の質問に対する答えは依然として有効でしょうか?
編集:なぜその方が良いのかについて具体的な理由を教えていただければ、それは素晴らしいことです.
オープンソースにする予定のアプリケーションを (Java で) 作成する場合、多くのゲッターとセッターを用意し、変数を非公開にするのは一般的に良い考えですか? より具体的には、それがAndroid アプリケーションである場合、上記の質問に対する答えは依然として有効でしょうか?
編集:なぜその方が良いのかについて具体的な理由を教えていただければ、それは素晴らしいことです.
ANDROIDでゲッターとセッターについて話し合っている場合は、Androidのドキュメントに記載されている内容を確認してください。- Androidでは
内部ゲッター/セッターを避ける
、これは悪い考えです。仮想メソッド呼び出しは、インスタンスフィールドルックアップよりもはるかにコストがかかります。一般的なオブジェクト指向プログラミングの慣例に従い、パブリックインターフェイスにゲッターとセッターを含めることは合理的ですが、クラス内では常にフィールドに直接アクセスする必要があります。
このように言えば、ゲッター/セッターを持つ必要性を感じておらず、プロパティを非公開にする予定です。この方法で問題ないようです。しかし、自分自身にいくつかの質問をする必要があります。
ここで、いくつかのプロパティにゲッター/セッターが必要であると思われる場合は、すべてではありません。次に、一貫性を保つために、すべてのゲッター/セッターを作成します。:)
詳しくは、Effective Java 2nd Editionを参照してください。
すべてのプライベート変数が外部からアクセスされることが予想される場合は、はい。
外部から使用されない特定のフラグがあり、それらのゲッター/セッターは必要ないとします。
こちらもご覧ください