データのカプセル化を実現する 1 つの方法は、アクセサーとミューテーターを使用することです。アクセサーとミューテーターの機能は、オブジェクトの状態の値を返し、設定することです。 Java でアクセサーとミューテーターを作成する方法を学びましょう。たとえば、状態とコンストラクターがすでに定義されている Person クラスを使用します。
accessor メソッド
accessors メソッドは Returns を使用します。プライベートフィールドの値。これは、メソッド名の先頭に「get」プレフィックスを付ける命名スキームに従います。たとえば、firstname、middleNames、lastname の Mutator メソッドを追加してみましょう。
これらのメソッドは、対応するプライベート フィールド (文字列など) と常に同じデータ型を返し、そのプライベート フィールドの値のみを返します。 。
これで、Person オブジェクトのメソッドを通じて値にアクセスできるようになります。
Mutator メソッド
mutator メソッドを使用して値を設定します。プライベートフィールドの。これは、メソッド名の先頭に「set」という単語を付ける命名規則に従います。たとえば、アドレスとユーザー名のミューテーター フィールドを追加してみましょう。
これらのメソッドには戻り値の型がなく、対応するプライベート フィールドと同じデータ型の引数を受け入れます。次に、そのパラメーターを使用して、そのプライベート フィールドの値を設定します。
これで、Person オブジェクトのアドレスとユーザー名の値を変更できるようになりました:
なぜアクセサーとミューテーターを使用するのですか?
これで、次のことが可能になります。クラスを定義します。 private フィールドを public に変更しても、同じ結果が得られます。オブジェクトのデータはできる限り隠したいということを覚えておくことが重要です。これらのメソッドによって提供される追加のバッファーを使用すると、次のことが可能になります。
データのバックグラウンドでの処理方法を変更します。
フィールドに設定されている値を検証します。
ミドルネームの保存方法を変更するとします。単一の文字列の代わりに文字列の配列を使用できるようになりました。
オブジェクト内の実装は変更されましたが、外部の世界は影響を受けません。このメソッドはまったく同じ方法で呼び出されます。
あるいは、 Person オブジェクトを使用するアプリケーションが最大 10 文字のユーザー名のみを受け入れることができると仮定します。 setUsername 変数に検証を追加して、ユーザー名が次の要件を満たしていることを確認できます。
これで、setUsername ミューテーターに渡されたユーザー名が 10 文字を超える場合、自動的に切り捨てられます。
関連する推奨事項: 「Python チュートリアル 」
以上がJavaでAccessorとMutatorを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。