私はこれを1つのクラスに持っています:
if (people.count < 10)
return false;
ただし、カウントには赤で下線が付けられており 、「カウントの可視性をデフォルトに変更する」と書かれています
countはプライベートとして別のクラスにあります。しかし、デフォルトに変更したくありません。私はそれが悪い習慣であることを知っています。セッターとゲッターなしで機能させるにはどうすればよいですか?
私はこれを1つのクラスに持っています:
if (people.count < 10)
return false;
ただし、カウントには赤で下線が付けられており 、「カウントの可視性をデフォルトに変更する」と書かれています
countはプライベートとして別のクラスにあります。しかし、デフォルトに変更したくありません。私はそれが悪い習慣であることを知っています。セッターとゲッターなしで機能させるにはどうすればよいですか?
可視性を変更するか、ゲッターを公開できます。これを行う別の方法を求めることは、文字通り、「変数を公開せずに公開するにはどうすればよいですか?」と尋ねることです。それで、あなたの電話。
クラスにカプセル化されているため、フィールドcount
はプライベートです。クラスの非公開メンバー以外からアクセスするつもりはありません。
アクセス権を「デフォルト」に変更するのは簡単ですが、有害です。
いくつかのハック (リフレクション、ネイティブ メソッドなど) を介してアクセスすることは、より複雑であり、依然として有害です。
ゲッターを公開するのは簡単で適切です。
if (people.getCount() < 10)
return false;
選択肢は 2 つだけです。可視性を変更するか、ゲッターとセッターを使用してください。ゲッターとセッターを使用する利点は、Java で重要なカプセル化の原則に準拠していることです。